You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal 10区块仅在内容含特定分类术语时显示的配置求助

Drupal 按特定分类术语控制区块显示的PHP代码实现

需求说明

需实现:仅当当前内容关联「Category」词汇表下ID为8的特定术语时,目标区块才显示——系统配置仅支持选择整个词汇表,因此用PHP代码实现。

实现代码

兼容旧版分类关联逻辑的代码

<?php
// 验证当前页面为节点详情页
if (arg(0) == 'node' && is_numeric(arg(1))) {
  $node = node_load(arg(1));
  // 检查节点是否关联了ID为8的分类术语
  if (!empty($node->taxonomy) && isset($node->taxonomy[8])) {
    return TRUE;
  }
}
return FALSE;
?>

适配Drupal 7字段式分类的代码(推荐)

如果分类是通过自定义字段(示例字段名:field_category)关联的,用以下代码兼容性更强:

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
  $node = node_load(arg(1));
  if (!empty($node->field_category)) {
    // 遍历节点关联的所有分类术语
    foreach ($node->field_category['und'] as $term_item) {
      if ($term_item['tid'] == 8) {
        return TRUE;
      }
    }
  }
}
return FALSE;
?>

使用步骤

  1. 进入目标区块的配置页面,找到「可见性设置」
  2. 选择「PHP代码」选项,粘贴上述代码
  3. 保存配置即可

内容的提问来源于stack exchange,提问作者Antonio Gargiulo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 20:48:17