【问题标题】:How do i use Drupal views to list all grand siblings of a node by taxonomy term我如何使用 Drupal 视图按分类术语列出节点的所有大兄弟
【发布时间】:2014-08-22 09:12:57
【问题描述】:

我正在尝试弄清楚如何显示当前节点的所有兄弟姐妹,这些节点由一个块中的通用导航分类法定义。

我可以显示一个节点的所有兄弟节点和使用该分类法的所有节点,但不能显示所有节点,并且只有那些节点共享相同的祖父分类术语。

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

执行此操作的最佳位置是在上下文过滤器中,使用 PHP 定义“具有分类术语(具有深度)”输出吗?这似乎是正确的,但我无法找到任何我可以很好地解析出来以为此目的进行编辑的示例代码。或者有什么方法可以将通配符与父分类术语放在一个简单的过滤器字段中?

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

【问题讨论】:

    标签: drupal-7 drupal-views


    【解决方案1】:

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

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

    Content: Has taxonomy term ID (with depth) 窗格中并执行以下操作:

    当过滤器不可用时

    1. 选择提供默认值
    2. Type 下拉菜单下,选择 Raw value from URL
    3. 选择要使用的路径组件的深度。例如,如果节点位于 /agents/php/installation/manual,那么您将使用 2 作为该节点的表兄弟。
    4. 选择使用路径别名

    过滤器值可用时下:

    1. 选择指定验证标准
    2. Validator 下拉菜单下,选择 Taxonomy term
    3. 词汇表列表下,选择您用于导航的分类法。
    4. 过滤器类型下拉菜单下,选择术语名称转换为术语 ID
    5. 选择将 URL 中的破折号转换为空格

    这确实会导致 Clean URLs 从字符串“Using the Widget”中删除文章和粒子变为“using-widget”时出现问题,但这可以通过为分类术语创建一个显示标题字段并在保持分类的同时使用该字段进行显示来规避名称简洁明了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多