我如何使用Drupal视图按分类术语列出节点的所有兄弟姐妹

时间:2014-07-01 17:58:13

标签: drupal-7 drupal-views

我正在试图弄清楚如何显示当前节点的所有兄弟姐妹,这是由块中的公共导航分类法定义的。

我可以使用分类法显示节点和所有节点的所有兄弟节点,但不是全部,只显示那些共享相同祖父母分类术语的节点。

我可以创建一个由每个祖父母过滤的视图,所以我假设我需要一些通配符来表示当前节点的祖父,而不是为网站上的每个这样的分类术语创建单独的视图。只有35个,所以它是可行的,但不完全优雅,可扩展或易于维护。

最好的地方是在上下文过滤器中,用PHP定义“具有分类术语(带深度)”输出吗?这似乎是正确的,但我找不到任何可以解析的示例代码,以便为此目的进行编辑。或者是否有一些方法可以在一个简单的过滤器字段中将外卡与父分类术语放在一起?

截至我上一次戳戳时,视图如下:Link to image(显然,我不允许发布图片)。

1 个答案:

答案 0 :(得分:2)

答案在这里找到:Finding cousins of a node in Drupal

假设您有一个菜单设置,可以将节点连接到节点上下文菜单的分类术语:

内容:具有分类术语ID(带深度)窗格并执行以下操作:

过滤器不可用时

  1. 选择提供默认值
  2. 类型下拉列表中,选择来自网址的原始值
  3. 选择要使用的路径组件的深度。例如,如果节点位于/ agents / php / installation / manual,那么您将使用2表示该节点的表兄弟。
  4. 选择使用路径别名
  5. 过滤器值可用时

    1. 选择指定验证条件
    2. 验证者下拉列表中,选择分类标准
    3. 词汇表列表下,选择您用于导航的分类。
    4. 过滤器类型下拉列表中,选择术语名称转换为术语ID
    5. 选择将网址中的短划线转换为空格
    6. 这确实会导致Clean URL从字符串中删除文章和粒子的问题“使用Widget”变为“using-widget”,但这可以通过为分类术语创建Display Title字段并在保持分类的同时使用它来显示来规避名字短而干净。