Récupérer une liste d'entité custom dans une select box

Comment récupérer une liste d'entité custom dans une select box :

Ici je vais récupérer les informations via la méthode getentity

  1.     $form['entity'] = [
  2.       '#type' => 'select',
  3.       '#required' => TRUE,
  4.       '#title' => $this->t('Ansible configuration'),
  5.       '#default_value' => $this->configuration['entity'],
  6.       '#options' => self::getentity(),
  7.     ];
  8.     return $form;

Dans cette méthode, je vais utiliser entityQuery + EntityTypeManager pour récupérer ma liste d'entité 

  1.   private static function getentity() {
  2.     $entities = \Drupal::entityQuery('ansible_entity')->execute();
  3.     $entities_list = \Drupal::entityTypeManager()->getStorage('ansible_entity')->loadMultiple($entities);
  4.  
  5.     $entities_data = [];
  6.     foreach ($entities_list as $entitie) {
  7.       $entities_data[$entitie->id()] = $entitie->label();
  8.     }
  9.  
  10.     return $entities_data;
  11.   }

 

 

Drupal

Ajouter un commentaire

Image CAPTCHA
Saisir les caractères affichés dans l'image.