我制作了一个名为node-mynode.tpl.php的自定义模板 每当请求mynode类型的节点时,则node-mynode.tpl.php 自动使用。
但是,现在用户希望在这种情况下看到特定的菜单块。
问题: 如何将块分配给特定的内容类型?
提示:我已经开始查看Pathauto的URL别名了。 我怀疑一个解决方案可能就是朝这个方向发展。
答案 0 :(得分:7)
在Drupal 6中,您可以配置块的可见性设置。单击管理员后端中块旁边的“配置”链接,然后按照以下步骤操作 -
1)在“页面特定的可见性设置”选项卡下选择“显示以下PHP代码是否返回TRUE(仅限PHP模式,仅限专家)”选项。
2)输入以下PHP代码,该代码检查当前节点的节点类型并相应地返回TRUE -
<?php
if( arg(0) != 'node' || !is_numeric(arg(1)) )
{ return FALSE;
}
//load a fully-populated Drupal node object
$temp_node = node_load(arg(1));
if( $temp_node->type == 'mynode' ) //check the node type
{ return TRUE; //display block
}
?>
这应该有效....
答案 1 :(得分:3)
您可以使用上下文模块
答案 2 :(得分:1)
为您的所有mynode
类型节点提供一个以/mynode
开头的自动别名,并使用该块的页面特定可见性设置,仅显示在以/mynode/*
开头的页面上。