2

我制作了一个名为 node-mynode.tpl.php 的自定义模板 每当请求 mynode 类型的节点时,都会自动使用 node-mynode.tpl.php。

但是,现在用户希望在这种情况下查看特定的菜单块。

问题:如何将块分配给特定的内容类型?

提示:我已经开始使用 Pathauto 查看 URL 别名。我怀疑一个解决方案可能在于这个方向。

4

3 回答 3

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
   }
?>

这应该工作....

于 2010-06-12T20:12:33.580 回答
3

您可以使用上下文模块

于 2010-09-16T17:51:25.503 回答
1

为您的所有mynode类型节点提供一个自动别名,/mynode并使用该块的页面特定可见性设置,仅在以/mynode/*.

于 2010-04-20T20:49:58.137 回答