2

node_saveを使用してWebサービスからノードをインポート/更新しています。私が達成したい機能の1つは、インポートされたノードがローカルで変更されたときに、Webサービスからそれ以上の更新を受け取らないようにすることです。

だから、私が達成したいのは:

  • ノードが更新されたことを検出する
  • フォームを送信するユーザーによって更新が実行された場合(プログラムではなく)
  • 次に、このノードがWebサービスからそれ以上の更新を受け取らないようにフラグを立てます(この部分については何の支援も必要ありません)

hook_node_updateを使用したかったのですが、フォームを送信したユーザーによって更新が実行されたかどうかを確認する方法がわかりません。

助言がありますか?

4

1 に答える 1

1

ユーザーによるノードの作成中 (初期セットアップ): デフォルト値が「ユーザーによって送信された」に設定されるノードの非表示フィールドを作成します。非表示のフィールドであるため、ノード編集フォームでは使用できませんが、デフォルト値は保持されます。

ユーザーによるノードの更新: hook_form_alter を使用して、非表示の入力の値を " submit by user " に設定します。

webservice を使用したノードの CREATE/UPDATE 中: プログラムでノードを作成するときに、隠しフィールドの値を「submit by webservice」で更新します。

hook_node_update で、この隠しフィールドの値を確認し、それに応じて決定を下すことができます。

于 2012-11-07T11:43:35.910 に答える