nodeapi不改变节点数据

时间:2010-11-16 21:30:06

标签: drupal

使用hook_nodeapi,我想阻止在更新节点时保存某些字段。我有一个简单的付款表单,可以输入Authorize.net,但不应保存CC编号和日期,只是传递给Authorize.net。

我可以传递数据。但是Drupal仍然会保存数据。

我尝试取消设置提交和更新操作中的字段,但都不起作用。如果我在默认情况下这样做,它可以工作,但我的更新失败,因为数据不可用。

在不干扰更新的情况下从节点中删除数据的正确操作是什么?

2 个答案:

答案 0 :(得分:2)

我会从节点中删除字段并使用hook form alter添加它们。这样你就没有没有用于任何东西的空场。

修改

如果您真的想使用hook_nodeapi(),请使用$op='presave'

  

“presave”:节点通过验证   并即将被拯救。模块可以   使用它来更改节点   在将其保存到数据库之前。

答案 1 :(得分:1)

如果我想在更新节点时阻止保存某些字段,我会使用hook_form_alter来删除我不想提交的数据。

http://drupal.org/node/651106

的更多信息