【问题标题】:Drupal: How to get a CCK field value when inserting a node?Drupal:插入节点时如何获取CCK字段值?
【发布时间】:2010-01-26 15:45:02
【问题描述】:

我正在开发一个注册系统,在该系统中,有人可以在 CCK 字段中输入他们将带来的参与者数量。我想,每当添加具有该 CCK 字段的节点类型时,获取该字段的值,然后将其添加到我的变量表中的变量值中。

当 $op 为 hook_nodeapi “插入”时,CCK 值是否在我的自定义模块运行之前插入到数据库中的字段表中?或者有没有其他方法可以直接获取那个字段的值?

【问题讨论】:

  • 我不完全理解你。如果您在 hook_nodeapi > insert,您应该可以访问提交表单中的值,并且此时可以编写查询(或使用 variable_get/set)来更新您的表。
  • 我原本打算这样做,但最终决定使用规则。规则非常强大!
  • 我正要研究这一切的时候,看到你提到了规则。这就是我需要听到的全部内容。

标签: drupal cck


【解决方案1】:

我是这样解决这个问题的:我使用了规则模块,并设置了一个规则集,通过对包含每个保留组编号的 CCK 字段求和来更新保留注册点的数量。然后我为节点的添加、更新和删除创建了规则,所以数字会一直自动更新。

它比使用 hook_nodeapi 容易得多,并且会更容易维护......

【讨论】:

    【解决方案2】:

    是的,hook_nodeapi。但这不是将用户数据保存到变量数据的好方法(每个新用户都为变量添加新行)。只需将其保存在 cck 字段中即可。

    【讨论】:

    • 在我看来,他一直在保持注册人总数之类的。如果他要添加到其他表,或者变量表中具有 cck 字段值的值,他可能每次都更新一个值。
    • 我认为,它用于存储一些其他值。通过查询用户表可以轻松获取用户数。对于提问者:要清楚......
    • sprugman 说得对 - 我试图保持注册人的总数,为了做到这一点,我希望允许用户为每个组提供任意数量的注册人。
    • 注册人数?从用户中选择计数(*)?为什么当这个字段?
    • 这不是个人注册者的列表,而是一个团体系统,个人可以在其中保留任意数量的位置(因此字段)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多