Как получить несколько значений коллекции полей в раскрывающемся списке одного и того же узла в Drupal 8? - PullRequest
0 голосов
/ 04 октября 2018

У меня есть тип контента, и я разделил поля с группой полей (горизонтальная вкладка).Есть 2 поля коллекции.Я хочу получить значение поля из одной коллекции полей и установить как для списка выбора во второй коллекции полей.

1 Ответ

0 голосов
/ 18 октября 2018

Вы можете использовать приведенный ниже код, чтобы сделать то же самое: это всего лишь пример, пожалуйста, используйте имя компьютера типа содержимого и коллекцию полей тщательно.

$nid = 1234; //Dummy Value

//loading node based on nid
$node = \Drupal\node\Entity\Node::load($nid);  

//Here I used field_collection_first_field as machine name of the field collection name on your content type
if(!($node->get('field_collection_first_field')->isEmpty())){

    //Field collection 1
    $fcID1 = $node->get('field_collection_first_field')->getValue()[0]['value'];

    if(!empty($fcID1)){
        $fc1 = \Drupal\field_collection\Entity\FieldCollectionItem::load($fcID);
        $fcFieldValue = $fc1->get('field_comments')->getValue()[0]['value'];
    }
}

if(isset($fcFieldValue)){

    if(!($node->get('field_collection_second_field')->isEmpty())){

        //Field collection 2
        $fcID1 = $node->get('field_collection_second_field')->getValue()[0]['value'];

        if(!empty($fcID1)){
            $fc2 = \Drupal\field_collection\Entity\FieldCollectionItem::load($fcID);

            $fc->set('field_comments',$fcFieldValue);

            if(!($fc->save())){
                echo 'success'; //Work Done
            }
        }
    }
}

Если у вас возникнут какие-либо другие проблемы, пожалуйста, дайте мне знать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...