【问题标题】:Drupal 6: print all body field content to node template fileDrupal 6:将所有正文字段内容打印到节点模板文件
【发布时间】:2010-06-07 08:24:56
【问题描述】:

我尝试显示正文内容:

<?php print $node->content['body']['#value']; ?>

但是,它不会显示所有正文内容,它只显示正文内容的第一段,如果很短,有时会显示 2 段:/

我需要打印所有的身体。我该怎么做?

非常感谢!感谢帮助!

【问题讨论】:

    标签: drupal drupal-6 field drupal-theming


    【解决方案1】:

    缩短的正文内容暗示它被填充/渲染为“预告片”视图而不是“完整”视图。您在什么情况下发布此打印声明?


    编辑:节点模板通常用于预告片和完整输出,但决定使用什么以及节点对象中内容条目的填充发生在节点模板文件之外。在节点模板文件中,变量 $teaser 将为 TRUE,如果节点要显示为预告片。

    因此,您需要检查调用节点模板的上下文,因为您必须配置该上下文以将节点呈现为“完整”。这可能在很多地方,具体取决于谁负责提供您想要主题的节点,例如如果从视图调用节点模板,则需要将视图配置为使用“整页”输出,如果它来自模块,则需要检查模块设置等...

    【讨论】:

    • 是的,我一直在搜索预告片,是否可以为预告片定义新长度等,或者是否可以打开预告片。我有 node-blog.tpl.php 的问题
    【解决方案2】:

    node.tpl.php试试

    <?php print $content ?>
    

    然而,

    <?php print $node->content['body']['#value']; ?>
    

    也适合我。

    【讨论】:

    • 感谢您的回复。 print $content 只打印内容中的每个字段,例如我的自定义 cck 字段(图像、徽标等)。我只需要全身输入部分:/
    【解决方案3】:

    为了控制您的预告片长度,您可以使用 Post Settings 设置主值。 (修剪后的帖子长度)

    要通过节点类型控制这个尝试:http://drupal.org/project/teaserbytype

    注意:预告片已缓存,因此您需要 http://drupal.org/project/retease

    但是,如果您只想在节点模板中完成它,您可以运行 node_load() 并拥有一切……但这不是最佳做法。

    仅供参考:您可以控制在“显示选项”下的 $content 中显示哪些 CCK 字段。

    PS:在预告模式下,我经常使用 truncate_utf8()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-19
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      相关资源
      最近更新 更多