我有简单的问题。我的内容类型(标题图像)中有一个必须打印的字段page.tpl.php
(由于布局)。
它工作正常,我在theme_preprocess_page()
函数中添加了一些代码以在 page.tpl.php 中显示该字段
function theme_preprocess_page( &$variables, $hook )
{
$node = menu_get_object();
if( $node && $node->type == 'page' )
{
$view = node_view($node);
$variables['headerimage'] = render($view['field_headerimage']);
}
}
现在我在从节点视图中隐藏该 field_headerimage 时遇到问题。它不能从管理 ui(内容类型 -> 管理显示)中隐藏,因为如果我从那里隐藏它,它也将不可用theme_preprocess_page()
。
所以我尝试从 preprocess_node 隐藏该字段
function theme_preprocess_node( &$variables, $hook )
{
if( $variables['page'] )
{
hide($variables['field_headerimage']);
unset($variables['field_headerimage']);
$variables['field_headerimage'] = NULL;
}
}
我添加了我尝试将其从显示中删除的每一行代码。我究竟做错了什么?或者:你如何隐藏字段theme_preprocess_node()