2

我正在使用 node_save 从 Web 服务导入/更新节点。我想要实现的一项功能是,当导入的节点在本地更改时,它不应该从 Web 服务接收任何进一步的更新。

所以,我想要实现的是:

  • 检测节点何时更新
  • 如果更新是由提交表单的用户执行的(与以编程方式相反)
  • 然后标记该节点不应从 Web 服务接收进一步的更新(我不需要这部分的任何帮助)

我想使用 hook_node_update 但我不确定如何判断更新是否由提交表单的用户执行。

有什么建议么?

4

1 回答 1

1

在用户创建节点期间(初始设置):为节点创建一个隐藏字段,默认值设置为“用户提交”。由于它是一个隐藏字段,它在节点编辑表单中不可用,但它仍然会带有默认值。

用户更新节点:使用 hook_form_alter 将隐藏输入的值设置为“用户提交”。

在使用 webservice 创建/更新节点期间:创建节点时,以编程方式使用“由 webservice 提交”更新隐藏字段值。

现在在 hook_node_update 中,您可以检查此隐藏字段值并做出相应决定。

于 2012-11-07T11:43:35.910 回答