web-dev-qa-db-ja.com

Drupal 7ルール-複数値参照フィールドの値を設定(ユーザー参照)

複数の値の参照フィールドを持つcckコンテンツタイプがあります。ルールを使用して、ユーザーが別のコンテンツタイプを作成するときにこれらの参照フィールドにデータを入力しようとしています(たとえば、イベントで、イベントを表示するユーザーのユーザー参照を追加し続けたい-これは例です)。

現在の問題は、エンティティをフェッチしてユーザー参照を設定できることです(ユーザーのループを使用)。ただし、最初のフィールドしか設定できません。フェッチしたエンティティの次のフィールドに移動して、ループリストの次のユーザーに設定するにはどうすればよいですか?

ループ内にいる限り、ループ内の各アイテムについて、参照フィールドの設定データ値は次のフィールドに移動しますが、最初のフィールドを上書きするだけだと想像しました。

値を設定しようとしている特定の参照フィールドが配列(fetched-entity:field-blah:0など)であることがわかりました。たとえば、アイテム[0]を選択することはできないので、デルタなしでfetched-entity:field-blahを使用すると、次のアイテムにシフトし続けると思いました。ありません。

リストをループするときに、フェッチされたエンティティのデルタをループする方法があると思いますか?

助けてくれてありがとう。

3
andrew
  1. 次のモジュールをインストールします:
  2. 「コンテンツが表示される」のルールを作成します。
  3. 「コンテンツはタイプ」などの条件を設定します
  4. ループを作成してその名前を設定し、データセレクターで[node:field-alumnos-curso]のようなフィールド(デルタではない)を選択します
  5. ループ内にアクションを作成し(「データ値を設定」しないでください)、「リストに項目を追加」を選択するだけで、値はリスト名またはループ名になります。
  6. 「エンティティの保存」アクションを作成することを忘れないでください。
2
alexis suarez

質問されてからずっと経ちました。現在、これは非常に簡単に行うことができます。

  1. エンティティオブジェクトのリストをロードします。 VBOビューを使用しました。
  2. データ値を設定します。パラメータ:データ:[node:field-your-user-ref-field]、値:[entity-list-you-loaded]
  3. エンティティを保存する

これと同じくらい簡単です。私はこれをとてもうまく利用しています。

0
Kevin Siji