ユーザー参照フィールドであるfield_new_authorというコンテンツタイプのフィールドがあります。
変更するルールを作成する必要がありますNode作成者フィールドをfield_new_authorの値と一致させます。この解決策を試してみました: ルールを使用してノード保存でノード作成者を変更
しかし、データベースエラーが発生します:PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '4141-0-all' for key 'PRIMARY': INSERT INTO {node_access} (nid, realm, gid, grant_view, grant_update, grant_delete) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5); Array ( [:db_insert_placeholder_0] => 4141 [:db_insert_placeholder_1] => all [:db_insert_placeholder_2] => 0 [:db_insert_placeholder_3] => 1 [:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => 0 ) in node_access_write_grants() (line 3440 of /home2/test/modules/node/node.module).
ルールで別の設定も試してみましたが、機能するものが見つかりませんでした。
エンティティリファレンスでD7を使用していると思います。 PHPコードなしで、ストックルールを使用してこれを実行できるはずです。
私はルールモジュールの経験があまりないので、その点についてはお手伝いできません。ただし、独自のモジュールを作成してこのフックを実装することもできます。
このフックを使用すると、データベース内でノードオブジェクトを保存または更新する前にノードオブジェクトを変更できます。その後、Node authorの値を、独自のモジュール内のUser参照フィールドの値に変更できます。最初にノードのコンテンツタイプをチェックして、値が目的のノード。