it-swarm.asia

كيف أقوم بتحميل مجموعة حقول من عقدة؟

لدي عقدة تحتوي على بعض المجموعات الميدانية.

عندما أنظر إلى إخراج node_load() ، أرى:

[field_rich_text_group] => Array
        (
            [und] => Array
                (
                    [0] => Array
                        (
                            [value] => 6
                        )

                    [1] => Array
                        (
                            [value] => 7
                        )

                    [2] => Array
                        (
                            [value] => 8
                        )

                )

        )

ما وظيفة واجهة برمجة التطبيقات التي يمكنني استخدامها لتحميل بيانات الحقل الموجودة في المجموعة التي تحتوي على معرف_كيان 6 ، 7 ، 8 ، وما إلى ذلك؟

73
Justin

دوه! كان يجب أن أبحث في وحدة الجمع الميداني:

entity_load('field_collection_item', array($item_id))
89
Justin

هناك أيضًا وظيفة التفاف تقوم بنفس الخدعة:

field_collection_item_load($id, $reset = FALSE)

أو حسب التعليق ، استخدم:

field_collection_item_load_multiple($ids = array(), $conditions = array(), $reset = FALSE)

لتحميل مجموعات متعددة (على سبيل المثال إذا كان لديك أزرار أضف المزيد ).

40
Vasiliy Grotov

field_collection_field_get_entity () يجب استخدامها لتحميل المراجعة الصحيحة.

مثال للاستخدام:

$node = node_load(1);
$items = field_get_items('node', $node, 'field_fc');
foreach ($items as $item) {
 $fc = field_collection_field_get_entity($item);
 // Do something.
}
21
jonhattan

يمكنك استخدام entity_metadata_wrapper من Entity API الوحدة:

$node_wrapper = entity_metadata_wrapper('node', $node);
$field_collection = $node_wrapper->field_rich_text_group[0]->value();
dpm($field_collection);

يمكنك تكرار جميع المجموعات أيضًا:

$node_wrapper = entity_metadata_wrapper('node', $node);
foreach ($node_wrapper->field_rich_text_group as $field_collection_wrapper) {
  $field_collection = $field_collection_wrapper->value();
  dpm($field_collection);
}
11
milkovsky