Drupal 7:根据内容类型显示不同的侧栏

时间:2011-04-14 20:57:19

标签: php drupal drupal-7

所以我的右侧边栏区域内有三个不同的区块。我想要做的是根据内容类型更改显示哪一个。我是Drupal的新手,从我在可用变量列表中看到的内容,我无法看到自定义block.tpl.php时我所处的内容类型。有可能吗?

3 个答案:

答案 0 :(得分:1)

我建议使用Context module为不同的内容类型定义不同的“上下文”。然后可以将每个上下文配置为显示不同的块。

另一种选择是Panels module,但Panels做得更多,因此界面更复杂,因此初学者很难掌握。

答案 1 :(得分:0)

Drupal 7中不需要额外的模块。在编辑块时(在CMS中,而不是模板文件),请查看“”下的“可见性设置”内容类型

您可以在此处指定要显示块的类型。

注意:如果没有选择,那么它将在每种内容类型中可用。

答案 2 :(得分:0)

如果您只想使用1个块,可以添加一些代码来获取节点类型:

<?php
if (arg(0) == 'node') {
  $node = node_load(arg(1));
}
?>

现在您可以使用以下内容访问该类型:$ node-&gt; type

如果你要去3个独立的街区......

安装路径auto(http://drupal.org/project/pathauto)

将节点路径设置为不同。在本例中,我将使用文章和产品作为内容类型:

文章:文章/ [title-raw] 产品:产品/ [title-raw]

然后,根据网址路径设置要显示的块。

对于您的文章块,请使用:articles / * 对于您的产品块,请使用:products / *