4

hook_insert我有通过 NodeAPI 钩子(等)实现自定义内容类型的模块hook_update。我想将 CCK 字段添加到此内容类型并通过 hook_nodeapi 调用(如创建或更新)填充它(以在视图中显示内容节点)。

问题是,我无法访问此内容类型的 CCK 字段。当然,它是在“管理字段”页面上启用的,但是当我使用开发模块加载这种类型的任何节点时,我看不到field_flag节点对象中的字段属性 ()。我可以在“Dev Render”选项卡下看到它作为“内容”属性的一部分,例如$node->content['field_flag']['#value'],但是如果我将值赋给$node->field_flagor$node->content['field_flag']['#value']并调用node_save,则不会保存 CCK 字段。

也许我必须调用其他函数来保存 CCK 字段?或者这个设置可能有什么问题?

4

1 回答 1

3

我相信这个领域是

$node->field_flag[0]['value']

在 Drupal 6 中就是这样,它不遵循字段的实际名称或表字段名称。查看字段是什么的简单方法是填写一个节点,然后将其转储出来以查看其结构。这将为您提供它在 node_save 中所期望的名称。我有一段时间没有使用 Drupal 5,但你不能离得太远。你很亲密。

于 2010-03-22T15:30:08.517 回答