J'avais du mal à trouver des exemples d'API pour entityqueue dans Drupal 8.
J'ai fini par écrire une requête pour obtenir les articles.
$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();
Mais j'aimerais utiliser une fonction intégrée si possible. Où est la fonction de récupération des éléments d'une file d'attente d'entités?
Réponses:
Étant donné que $ sid est votre identifiant de sous-file d'attente:
Charge l'objet de sous-file d'attente. Vous pouvez manipuler cela pour récupérer ou mettre à jour votre file d'attente d'entités.
Pour obtenir les articles:
Pour mettre à jour les éléments, ajoutez un autre élément au tableau $ items, puis enregistrez l'objet entité:
Voila!
Vous pouvez vérifier dans la base de données que votre file d'attente d'entités est mise à jour:
Je voudrais également ajouter qu'il existe une excellente alternative à l'utilisation de entityqueue dans Drupal 8: le module Config Pages . Il vous permet de créer des ensembles d'entités qui n'ont qu'une seule entité. Vous pouvez ensuite ajouter tout type de champ que vous souhaitez, y compris les champs de référence d'entité. J'ai récemment remplacé une file d'attente d'entité sur un projet par une page de configuration avec un champ de référence d'entité, et j'ai préféré l'expérience utilisateur.
la source
Il existe également un raccourci pour charger la sous-file d'attente:
\Drupal\entityqueue\Entity\EntitySubqueue::load($sid);
la source