Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 7 如何使用Drupal视图按分类术语列出节点的所有同级节点_Drupal 7_Drupal Views - Fatal编程技术网

Drupal 7 如何使用Drupal视图按分类术语列出节点的所有同级节点

Drupal 7 如何使用Drupal视图按分类术语列出节点的所有同级节点,drupal-7,drupal-views,Drupal 7,Drupal Views,我试图弄清楚如何在一个块中显示由公共导航分类法定义的当前节点的所有同级节点 我可以显示一个节点的所有同级节点和使用分类法的所有节点,但不能显示所有且仅显示共享同一祖辈分类法术语的节点 我可以创建一个按每个祖辈过滤的视图,因此我假设我需要某种通配符,即当前节点的祖辈,而不是为站点上的每个这样的分类术语创建单独的视图。只有35个,因此它是可行的,但并不完全优雅、可扩展或易于维护 最好的方法是在上下文过滤器中使用PHP定义“has taxonomy term(with depth)”输出吗?这似乎是正

我试图弄清楚如何在一个块中显示由公共导航分类法定义的当前节点的所有同级节点

我可以显示一个节点的所有同级节点和使用分类法的所有节点,但不能显示所有且仅显示共享同一祖辈分类法术语的节点

我可以创建一个按每个祖辈过滤的视图,因此我假设我需要某种通配符,即当前节点的祖辈,而不是为站点上的每个这样的分类术语创建单独的视图。只有35个,因此它是可行的,但并不完全优雅、可扩展或易于维护

最好的方法是在上下文过滤器中使用PHP定义“has taxonomy term(with depth)”输出吗?这似乎是正确的,但我还没有找到任何能够很好地解析出来的示例代码,以便为此目的进行编辑。或者有什么方法可以在一个简单的筛选字段中针对父分类术语设置通配符


在我上次戳的时候,视图如下:(显然,我还不允许发布图片)。

答案在这里找到:

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

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

当过滤器不可用时,在下:

  • 选择提供默认值
  • 类型下拉列表下,从URL中选择原始值
  • 选择要使用的路径组件的深度。例如,如果节点位于/agents/php/installation/manual,那么您将使用2作为该节点的近亲
  • 选择使用路径别名
  • 当筛选值可用时,在下:

  • 选择指定验证标准
  • 在验证程序下拉列表下,选择分类术语
  • 词汇表列表下,选择用于导航的分类法
  • 在过滤器类型下拉列表下,选择转换为术语ID的术语名称
  • 选择将URL中的破折号转换为空格
  • 这确实会导致使用干净的URL从字符串中删除项目和粒子时出现问题,“使用小部件”变为“使用小部件”,但可以通过为分类术语创建显示标题字段并将其用于显示来避免这一问题,同时保持分类名称简短干净