我在基本页面内容类型中添加了一个名为“field_header”的自定义字段。我如何访问 page.tpl.php 模板上的这个字段以便我可以在任何我想要的地方显示它?理想情况下,我也想从 $content 中删除它。谢谢!
最佳答案
不要忘记并非每个页面都一定是节点页面,因此您最好尝试在 node.tpl.php
中访问它,而不是 page.tpl.php
。
在 node.tpl.php
中,您可以像这样呈现特定字段:
echo render($content['field_header']);
hide($content['field_header']); // This line isn't necessary as the field has already been rendered, but I've left it here to show how to hide part of a render array in general.
如果您绝对必须在 page.tpl.php
中执行此操作,那么您需要在您的模板文件中实现一个预处理函数以获取您需要的变量:
function mymodule_preproces_page(&$vars) {
if ($node = menu_get_object() && $node->type == 'page') {
$view = node_view($node);
$vars['my_header'] = render($view['field_header']);
}
}
然后在 page.tpl.php
中,您将可以访问包含完整呈现字段的变量 $my_header
。
关于php - Drupal 7 如何呈现自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8074485/