我是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
我已经看过"自定义字段输出"answers"Drupal:Print字段无标记",还做了一些基本的谷歌搜索,但我找不到关于这个特定问题的参考。我认为罪魁祸首在于一些额外的标记,这些标记被添加到某个地方,迫使每个字段的末尾都有一行新行,但我不完全确定它是从哪里来的。它在field.tpl.php
中吗?还是其他地方?或者它与对render()
的调用有关(在render()
成功返回字段内容后强制换行)?正如我所说,我对Drupal还很陌生,还没有弄清楚如何找出像这样的小规模(但重要!)问题。
谢谢!
另外一个注意事项:我正在从头开始创建Drupal主题,到目前为止,我唯一使用的CSS是CSS Reset。
您是否使用文本作为这些字段的输入格式?从那里开始(/admin/structure/types/manage/[content_type]/fields)。
然后在管理显示选项卡中检查有问题的内容类型(/admin/structure/types/Manage/[content_type]/Display),并确保您使用的是纯文本格式。
此外,请检查筛选器处理顺序中为应用于这些字段的文本格式启用的任何筛选器,屏幕位于/admin/config/content/formats。