gpt4 book ai didi

drupal - Drupal 中对表的节点引用

转载 作者:行者123 更新时间:2023-12-04 06:48:34 37 4
gpt4 key购买 nike

我有带 CCK 的 Drupal,
我有一个名为 Article 的内容类型。
本文有 5 个节点引用。
我正在使用 CCK 中的表字段,我正在尝试将其连接到
引用文献,所以每篇文章[包含一个表格字段]
将有一个包含 5 列的表,每个产品一个列
以及可以根据用户想要的内容而改变的内容
但是我不确定该怎么做,我试过了
在引用中选择产品后将产品添加到列中
通过 jquery,它似乎很迟钝.. 有没有以前的解决方案?
要清除的图像
alt text

最佳答案

您可以使用 View ,但在我们开始之前,最好对节点进行一些更改。

  • 不要为每个产品使用 5 个单独的节点引用字段,而是添加一个引用产品的节点引用字段。在字段的配置中(在内容类型的管理字段选项卡上找到),在全局设置下将值的数量设置为 5。
  • 然后,摆脱 tableview CCK 字段。您将不需要它,因为您要创建的 View 将执行您想要执行的操作。
  • 现在,转到站点构建 -> View -> 添加。输入 View 的名称;比方说上市。您可以将描述和标签更改为您想要的任何内容,但将 View 类型设置为节点。
  • 现在,设置 View 。在“字段”下,添加要在产品表中显示的字段;假设节点:标题和节点:正文。
  • 在过滤器下,为节点添加一个过滤器:类型,以便 View 仅显示产品而不显示其他类型的节点。
  • 在基本设置下,将样式从无格式更改为表格。
    您现在将拥有一个 View ,该 View 将在表格中显示每个可用产品。下一步是将该表限制为仅显示特定节点引用的产品。为此,您将创建一个参数。
  • 在参数下,添加节点:ID。 View 现在将仅显示 ID 与传递给 View 的参数匹配的节点。
  • 选中 Allow multiple term per argument,这将允许您一次查找多个节点。
  • 由于您不会手动传递这些参数,因此您将让 View 自动生成它正在寻找的参数。如果参数不存在,请在要采取的操作下选择提供默认参数。

  • 有几个选项可用,但没有一个与您想要的匹配:即引用节点的节点 ID。因此,请选择 PHP 代码,以便您可以提供自定义参数。使用以下代码:
    $arguments = array();
    $node = node_load(arg(1));

    if ($node->field_product) {
    foreach ($node->field_product as $product) {
    if ($product['nid']) $arguments[] = $product['nid'];
    }
    }

    return implode(',', $arguments);
    这将查找页面的节点 ID ( arg(1) ),检查它是否具有产品节点引用字段 ( $node->field_product ,将 field_product 更改为您的字段的短名称),然后构建一个包含 ID 的参数引用的每个节点。它以 Views 期望的格式返回参数列表: 1,2,3 .
    现在 View 完成了:唯一要做的就是让 View 出现在页面上。您可以创建一个 block 显示,然后将该 block 添加到站点构建 -> block 下的区域。如果您转到引用产品的页面,该 block 将与引用 block 表一起出现。
    如果您希望 View 成为节点本身的一部分,请查看 View Reference模块,它创建一个引用 View 的 CCK 字段,就像节点引用引用节点一样。

    关于drupal - Drupal 中对表的节点引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3443484/

    37 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com