【发布时间】:2012-08-01 04:16:47
【问题描述】:
我对 Drupal 很陌生(使用 7),但我已经设法设置了我的内容类型(例如 'concert')并且我创建了一个 node-concert.tpl.php,我需要重写其 HTML 结构以适应concert 内容类型特有的信息。
我在此内容类型中有大量 CCK 字段(几乎所有单行文本字段),并且我知道如何使用 <?php print render($content['field_fieldname']); ?> 访问字段的内容。我的问题是这样的:Drupal 在新行上输出每个字段。所以,如果我有以下具有以下值的字段:
field_concert_date = January 1, 2013
field_concert_time = 3 PM
field_concert_location = Boston, MA
Drupal 将简单地在新行上输出每个字段值(所有字段标签都被隐藏)。我想要的输出是这样的:
January 1, 2013 at 3PM in Boston, MA
我试图通过将所有三个字段的输出包装在 <h2> 标记中来实现这一点,如下所示:
<h2><?php print render($content['field_concert_date']); ?> at <?php print render($content['field_concert_time']); ?> in <?php print render($content['field_concert_location']); ?></h2>
但 Drupal 仍然在自己的行上输出所有内容(甚至是 <h2> 标记内的硬编码文本):
January 1, 2013
at
3 PM
in
Boston, MA
我查看了Customize a field output 和Drupal: Print field without markup 并进行了一些基本的谷歌搜索,但我无法找到对这个特定问题的参考。我假设罪魁祸首在于一些额外的标记被添加到某个地方,这会在每个字段的末尾强制一个新行,但我不完全确定它会来自哪里。是在field.tpl.php 吗?或者别的地方?还是与对render() 的调用有关(在render() 成功返回字段内容后强制换行的东西)?就像我说的,我对 Drupal 还很陌生,还没有弄清楚如何查明像这样的小规模(但很重要!)问题。
谢谢!
附加说明:我正在从头开始创建 Drupal 主题,到目前为止,我引入的唯一 CSS 是 CSS 重置。
【问题讨论】:
标签: php templates drupal field