首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据术语深度显示/隐藏特定分类URL上的块?

如何根据术语深度显示/隐藏特定分类URL上的块?
EN

Drupal用户
提问于 2016-08-15 08:16:52
回答 1查看 980关注 0票数 2

我需要在不同的网址上显示街区。

代码语言:javascript
复制
Block1 
Should be displayed on:
branches/taxonomytermlevel1
But not on
branches/taxonomytermlevel1/taxonomytermlevel2

Block2 
Should be displayed on
branches/taxonomytermlevel1/taxonomytermlevel2
But not on
branches/taxonomytermlevel1

术语/分类学术语1/分类学术语2是变量(某些分类列表中的元素)。

做这件事最简单的方法是什么?我认为块显示可见性设置中的php脚本将是诀窍,所以我尝试了一些代码,但没有成功。

我现在的一些代码是:

代码语言:javascript
复制
<?php
if (empty(arg(3))) {
  return TRUE;
}else {
  return FALSE;
}
?>

有什么建议吗?

EN

回答 1

Drupal用户

发布于 2016-08-15 08:41:12

有另一种方法可以回答您的问题,而不需要在块设置中使用PHP :您可以使用规则块可见度模块。以下是其项目页面的引文:

规则块可见性模块允许使用规则组件来控制块可见性。这为Drupal管理员和开发人员提供了极大的灵活性,除了Drupal提供的默认可见性选项之外,还可以控制在其网站上显示块的时间。一般的想法是,如果你可以用规则来做,你可以用它来控制块的可见性,所以可能性是无限的。只需为一个多月前注册的用户显示一个区块?也许你有一个街区,必须只显示在上午8点至下午5点,在工作日?如何根据当前天气情况显示或隐藏块呢?所有这些都可以通过使用规则块可见性来完成。

根据上面的“如果您可以使用规则进行操作,您可以使用它来控制块的可见性”,您已经将问题简化为让规则“检查当前页面的路径”(以便在适当的页面上显示适当的菜单块)。

有关如何使用此模块的说明,请参阅我对"当节点有多条路径时,如何通过url显示块?“的回答。它包括一些规则组件(规则导出格式),您应该用变体替换这些组件,使其与您的特定问题相匹配。

因此,有了2条(类似的)规则,对于这两个块中的每一个,您应该能够让它工作起来。

要真正“确定规则中的路径结构”(如在此答案下面的附加注释中),您可能需要使用正则表达式来使用规则条件。类似于规则中的规则条件,我将其包含在对"如何自动跳过中间重定向?“的回答中。

使用正则表达式可以提供更多的情况(在规则块可见度模块之上),在这些情况下,这个解决方案可以工作。如果您不熟悉正则表达式(不明显.),那么也许您也想看看我对"如何抑制使用Drupal设置的核心drupal警告或错误消息_设置_给网站用户的信息?“的回答。

奖金:

这种方法也不需要启用PHP过滤器(您应该尽可能避免这种情况).

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/211537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档