Drupal 6:将所有正文字段内容打印到节点模板文件

时间:2010-06-07 08:24:57

标签: drupal drupal-6 field drupal-theming

我试图用以下方式显示身体内容:

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

然而,它不显示所有的身体内容,它只显示身体内容的第一段,如果它是短的则有时2段:/

我需要打印所有的身体。我怎么能这样做?

非常感谢!感谢帮助!

3 个答案:

答案 0 :(得分:2)

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


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

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

答案 1 :(得分:0)

node.tpl.php 中尝试

<?php print $content ?>

然而,

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

也适合我。

答案 2 :(得分:0)

要控制预告片长度,可以使用“后置设置”设置主值。 (修剪过的长度)

要按节点类型控制此尝试:http://drupal.org/project/teaserbytype

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

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

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

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