Php Drupal7:根据内容类型显示不同的侧栏

Php Drupal7:根据内容类型显示不同的侧栏,php,drupal,drupal-7,Php,Drupal,Drupal 7,因此,在我的右侧边栏区域中有三个不同的块。我想做的是根据内容类型更改显示的内容。我是Drupal新手,从available variables列表中可以看到,在定制block.tpl.php时,我无法看到我所处的内容类型。有可能吗?我建议使用为不同的内容类型定义不同的“上下文”。然后可以将每个上下文配置为显示不同的块 另一种选择是面板,但是面板做的更多,因此有更复杂的界面,所以初学者很难掌握。Drupal 7中不需要额外的模块。编辑块(在CMS中,而不是在模板文件中)时,请查看“内容类型”下的“

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

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


另一种选择是面板,但是面板做的更多,因此有更复杂的界面,所以初学者很难掌握。

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

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


注意:如果未选择“无”,则它将在每种内容类型中都可用。

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

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

现在您可以使用:$node->type访问该类型

如果你要走3个街区

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

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

文章:文章/[标题原始] 产品:产品/[标题原始]

然后,将块设置为基于url路径显示

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