代码之家  ›  专栏  ›  技术社区  ›  Kevin

不更改节点数据

  •  1
  • Kevin  · 技术社区  · 13 年前

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

    我可以很好地传递数据。但Drupal仍然保存数据。

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

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

    2 回复  |  直到 13 年前
        1
  •  2
  •   Jeremy French    13 年前

    我将从节点中删除这些字段,并使用hook-form-alter添加它们。这样,您就不会有空字段,而该字段不会用于任何内容。

    编辑

    如果你真的想用 hook_nodeapi() 供IT使用 $op='presave'

    “presave”:节点通过验证 即将被保存。模块可以 使用此项更改节点 在保存到数据库之前。

        2
  •  1
  •   Ran Bar-Zik    13 年前

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

    更多信息,请访问 http://drupal.org/node/651106