Warning: Undefined array key "HTTPS" in include() (line 29 of /opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php).
include('/opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php') (Line: 4)
require('/opt/www/fdv2/drupal.stage/web/sites/drupal001.net/settings.php') (Line: 145)
Drupal\Core\Site\Settings::initialize('/opt/www/fdv2/drupal.stage/web', 'sites/drupal001.net', Object) (Line: 1099)
Drupal\Core\DrupalKernel->initializeSettings(Object) (Line: 701)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
当前页面是展示的单个节点,如何在侧边栏区块中显示这个分类名称? - Drupal大学 - Drupal问答论坛
首页 / 帖子
当前页面是展示的单个节点,如何在侧边栏区块中显示这个分类名称?

当前页面是展示的单个节点,有个分类字段,比如是:国内新闻、国际新闻,这篇文章是属于国际新闻的,如何在侧边栏区块中显示这个分类名称(国际新闻)。区块应该如何写?要是直接输出分类名称,在page.tpl.php如何获取?


2个答案
闻涛
发布于:2016-06-11 11:02

用views生成一个区块,使用Contextual Filters传递nid参数

老葛
发布于:2016-06-14 10:19

如果要在page级别做,那就:

1.推荐用hook_block自己定义一个区块。懒的写就去后台创建一个区块,用php输入格式。

2.区块代码里去查找当前节点的那个分类字段的值即可,代码如下:

$current_nid = arg(1); // 假设路径格式是:node/12
$node = node_load($current_nid);
$node_wrapper = entity_metadata_wrapper('node', $node);
$classify = $node_wrapper->field_***->value();
print $classify->name;

3.最后是要配置区块的显示条件,可以用context来管理布局,也可以直接去区块里配置显示在那个内容类型下。