Estaba teniendo problemas para encontrar ejemplos de API para entityqueue en Drupal 8.
Terminé escribiendo una consulta para obtener los artículos.
$query = $this->database->select('entity_subqueue__items', 'esi')
->fields('esi', array('items_target_id'))
->condition('esi.bundle', $name_of_queue)
->orderBy('delta', 'ASC');
$nids = $query->execute()->fetchCol();
Pero me gustaría usar una función integrada si es posible. ¿Dónde está la función para recuperar elementos de una cola de entidad?
Respuestas:
Dado $ sid es su id de la cola:
Carga el objeto de la cola secundaria. Puede manipular esto para recuperar o actualizar la cola de su entidad.
Para obtener los artículos:
Para actualizar los elementos, agregue otro elemento a la matriz $ items y luego guarde el objeto de entidad:
Voila!
Puede verificar en la base de datos que la cola de su entidad está actualizada:
También me gustaría agregar que hay una gran alternativa al uso de entityqueue en Drupal 8: el módulo de páginas de configuración . Le permite crear paquetes de entidades que solo tienen una entidad. Luego puede agregar cualquier tipo de campo que desee, incluidos los campos de referencia de entidad. Recientemente reemplacé una cola de entidad en un proyecto con una página de configuración con un campo de referencia de entidad, y preferí la experiencia del usuario.
fuente
También hay un atajo para cargar la subcuela:
\Drupal\entityqueue\Entity\EntitySubqueue::load($sid);
fuente