使用hook_nodeapi,我想阻止在更新节点时保存某些字段。我有一个简单的付款表单,可以输入Authorize.net,但不应保存CC编号和日期,只是传递给Authorize.net。
我可以传递数据。但是Drupal仍然会保存数据。
我尝试取消设置提交和更新操作中的字段,但都不起作用。如果我在默认情况下这样做,它可以工作,但我的更新失败,因为数据不可用。
在不干扰更新的情况下从节点中删除数据的正确操作是什么?
答案 0 :(得分:2)
我会从节点中删除字段并使用hook form alter添加它们。这样你就没有没有用于任何东西的空场。
修改的
如果您真的想使用hook_nodeapi(),请使用$op='presave'
“presave”:节点通过验证 并即将被拯救。模块可以 使用它来更改节点 在将其保存到数据库之前。
答案 1 :(得分:1)
如果我想在更新节点时阻止保存某些字段,我会使用hook_form_alter来删除我不想提交的数据。
的更多信息