0

カスタム コンテンツ タイプ type_a があります

そのカスタム タイプ内には、いくつかのタイトルがあります。 Title Body Group1 (field_group1) (フィールド コレクション アイテムは複数の値を持つことができます)

グループ 1 (フィールド コレクション アイテム) 内のフィールドの詳細は次のとおりです グループ アイテム 1 (field_item1) 1 つの値を持つことができます グループ アイテム 2 (field_item2) (計算フィールド) 1 つの値を持つことができます

同じフィールド コレクション アイテムの「グループ アイテム 1」フィールドの値を「グループ アイテム 2」内にコピーしたい

以下は、計算されたコードで使用しています: $entity_field[0]['value'] = $entity->field_item1[LANGUAGE_NONE][0]['value'];

しかし、それは機能していません。エラーが表示されます Notice: Undefined index: value in eval() (line 1 of /homepages/13/d160804/htdocs/test/sites/all/modules/computed_field/computed_field.module(466) : eval()'dコード)。

これを行う方法を助けてください。ありがとう

4

1 に答える 1

0

$entity->field_item1[LANGUAGE_NONE][0]['value']フィールド コレクション アイテム (コピーするフィールドを含む) のエンティティ ID が含まれます。

両方のフィールド コレクション アイテムを読み込み、個々のフィールドを設定する必要があります。例えば、

$source_fc = field_collection_item_load($entity->field_item1[LANGUAGE_NONE][0]['value']);
$dest_fc = field_collection_item_load($entity->field_item2[LANGUAGE_NONE][0]['value']);

// now set values of $dest_fc with values from $source_fc

または、この方法に似たクローンを実行します: http://drupal.org/node/1233256#comment-5167316

于 2013-03-25T20:33:56.020 に答える