在Drupal 6中,当创建引用节点类型的新节点时,如何在节点上自动创建CCK字段?

时间:2010-11-08 07:55:00

标签: drupal drupal-6 drupal-views drupal-modules cck

我正在使用Drupal 6和Views 2,以及CCK,Panels和Node Relationships。 (到目前为止)

我定义了两种基本内容类型:

  1. 用户个人资料(使用内容配置文件模块)
  2. 产品
  3. 这些内容类型中的每一个都有一个节点引用,指向其他两种内容类型:Tier和Commission:

    1. 用户个人资料内容引用“层级”内容
    2. 产品内容参考“佣金类别”内容
    3. 每个用户/产品中可能有5-10个,最多100个。

      添加佣金类别时,需要为每个当前存在的Tier节点添加美元值。

      添加Tier节点时,需要将此Tier的美元值添加到每个当前存在的Commission Category节点。

      期望的效果是具有“职员”角色的用户可以管理用户层和产品类别。

      当用户查看显示为其级别和佣金类别组合的产品时,他们会看到一个值。

      例如:

      A类=>第1层(100美元),第2层(200美元),第3层(300美元)

      B类=>第1层(120美元),第2层(250美元),第3层(300美元)

      有没有办法做我的建议?或者我是否需要尝试不同的方法才能达到预期的效果?

1 个答案:

答案 0 :(得分:0)

我假设您还希望以后能够从Tier节点页面或Commission Category节点页面编辑这些金额。

为了使这些值更易于管理,您可能需要创建另一个引用Tier和Commission类别的内容类型(例如,称为Commission),并保留一个美元值。

我要做的是使用hook_form_alter(),以便在Tier表单中为每个Commission类别添加一个输入字段。这样,无论何时添加新层(或编辑现有层),都可以一次更新所有这些值。使用hook_nodeapi()插入/更新所有相应的Commission节点。

然后你可以为佣金类别表格做同样的事情,但是在另一个方向。

如果你希望有大量的层或类别,这可能是一个繁重的操作,但否则它应该没问题,因为我假设你不会经常更改这些值。