我试图让 Drupal 输出具有特定类名的 div 标记中特定内容类型的正文。
首先,我尝试覆盖 node.tpl.php,但我发现此处的 $content 变量已经包含正文以及其他自定义 cck 字段。而我想做的正是将 body 与其他领域分开。
之后我查看了 content-field.tpl.php,发现它仅针对自定义 cck 字段执行。所以也不适合我。
那么..如何为节点主体字段设置主题?
最佳答案
从调用开始
print_r($node);
这是节点对象包含的内容 - 您可以直接使用其任何成员,而不仅仅是打印内容。分析一下这个,你就会知道到底该调用什么;)
对于正文,可以通过以下方式访问无样式内容:
$node->content['body']['#value']
对于其他字段,您需要:
$node->field_name[0]['view']
(其中 [0] 是数组中项目的索引 - 当您可以上传许多图片时,对于 ImageField 很有用)。
例如,这是我的 node-event.tpl.php
的内容,显示有关事件的详细信息:
<div class="event clear-block">
<?php
$class = (convert_datetime($node->field_event_date[0]['value']) < time()) ? 'past' : 'future';
echo "<h3 class='header'>When?</h3><p class='$class'>".$node->field_event_date[0]['view']."</p>";
echo "<h3 class='header'>Where?</h3><p>".$node->field_event_place[0]['view']."</p>";
echo "<h3 class='header'>What?</h3>".$node->content['body']['#value'];
echo "<h3 class='header'>How much?</h3><p>".$node->field_event_price[0]['view']."</p>";
echo "<h3 class='header'>How to participate?</h3>".$node->field_event_subscribe[0]['view'];
?>
</div>
关于drupal-6 - Drupal 6 中的主题化节点主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5244328/