我制作了一个名为 node-mynode.tpl.php 的自定义模板 每当请求 mynode 类型的节点时,都会自动使用 node-mynode.tpl.php。
但是,现在用户希望在这种情况下查看特定的菜单块。
问题:如何将块分配给特定的内容类型?
提示:我已经开始使用 Pathauto 查看 URL 别名。我怀疑一个解决方案可能在于这个方向。
我制作了一个名为 node-mynode.tpl.php 的自定义模板 每当请求 mynode 类型的节点时,都会自动使用 node-mynode.tpl.php。
但是,现在用户希望在这种情况下查看特定的菜单块。
问题:如何将块分配给特定的内容类型?
提示:我已经开始使用 Pathauto 查看 URL 别名。我怀疑一个解决方案可能在于这个方向。
在 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
}
?>
这应该工作....
您可以使用上下文模块
为您的所有mynode
类型节点提供一个自动别名,/mynode
并使用该块的页面特定可见性设置,仅在以/mynode/*
.