我有通过NodeAPI钩子(hook_insert
,hook_update
等)实现自定义内容类型的模块。我想将CCK字段添加到此内容类型,并通过hook_nodeapi调用(如创建或更新)填充它(以显示视图中的内容节点)。
问题是,我无法访问此内容类型的CCK字段。当然,它在“管理字段”页面上启用,但是当我使用Devel模块加载此类型的任何节点时,我无法在节点对象中看到字段属性(field_flag
)。我可以在“开发渲染”标签下看到它作为“内容”属性的一部分,例如$node->content['field_flag']['#value']
,但如果我将值分配给$node->field_flag
或$node->content['field_flag']['#value']
并调用node_save
, CCK字段未保存。
也许我必须调用其他函数来保存CCK字段?或者这个设置可能有什么问题?
答案 0 :(得分:1)
我相信这个领域是
$node->field_flag[0]['value']
在Drupal 6中就是这样,它不遵循字段或表字段名称的实际名称。查看该字段的简单方法是填充节点,然后将其转储以查看其结构。这将为您提供node_save中期望的名称。我有一段时间没有使用Drupal 5,但你不能太远。你很亲密。