[D7] ¿Cómo generar en código paragraphs anidados?

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
leandro713's picture

Tengo un contenido que genero por un API que sirve XML.
Este nodo contiene campos anidados, lo estoy haciendo con Paragraphs.
En el nodo hay un campo que es un paragraph. Luego este paragraph tiene otro campo que es otro paragraph.
A la hora de generarlo vía código, el padre funciona con:

new ParagraphsItemEntity("campo_del_paragraph","nombre_bundle_padre")

Hasta aquí bien, ahora viene mi problema.
Una vez generado el padre, creo el hijo con:

new ParagraphsItemEntity("campo_del_paragraph_hijo","nombre_bundle_hijo")

Esto creo que funciona, no me da error y con un print_r veo una entidad.

Ahora lo que pensé era editar el padre y cascarle el hijo en el campo que lo debe contener (aquí puede estar el error). El código es el siguiente (no da error):

$entity = entity_load('paragraphs_item', array($parent->item_id));
  $entity = reset($entity);
  $entity->field_acordeon_hijo[LANGUAGE_NONE] = array(
    0 => array(
      'value' => $id_child,
      'safe_value' => $id_child,
      'format ' => NULL,
    ),
  );
  $entity->revision = TRUE;
  $entity->save(FALSE);

Y aunque no me salta ningún error y veo los padres y el contenido de cada uno, no veo los hijos
¿Alguna idea?

Tengo también puesta la pregunta en
https://drupal.stackexchange.com/questions/245679/how-to-create-nested-p...
donde tengo explicado todo el código que uso.

Comments

resuelto :-)

leandro713's picture

después de dos días loco perdido, me dí cuenta que tenía mal escrito el nombre del bundle :-)


new ParagraphsItemEntity(
array(
'field_name' => 'field_acordeon_hijo',
'bundle' => 'acordeon_hijo'))

(nótese el guión bajo en "acordeon_hijo")

El paso 3 no es necesario.

Madrid

Group organizers

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: