私は実際にはかなり単純な私の問題の解決策を探しています。プログラムでノードを作成し、そのすべてのフィールドにデータを入力する必要があるインポートタスクを実行しています。
Scald モジュールを使用しているため、ノードに複数のメディアを追加できます。しかし、いくつかのメディアをノードに関連付ける方法がわかりませんか?
私は以下を試しました:
foreach ($file_atoms as $i => $atom) {
$node_wrapper->field_atom[$i] = $atom->sid;
}
または:
foreach ($file_atoms as $i => $atom) {
$node_wrapper->field_atom[$i]->set($atom->sid);
}
しかし、次のエラーが発生します。
エラー:タイプEntityDrupalWrapperのオブジェクトを配列として使用できません
このページ のドキュメントに従いましたが、機能していないようです。
誰かが私を助けることができますか?
タクソノミーで同じ問題が発生しています。ノードラッパーに複数の値を設定できません。
問題は、field_atom
フィールドが複数として構成されていないことです。
そうでない場合、EntityDrupalWrapper
オブジェクトを使用すると、0
デルタを経由する代わりに、フィールドに直接アクセスできます。
field_atom
オプションを修正して複数のメディアを受け入れるだけで、コードは正常に機能します。