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

    $form['entity'] = [
      '#type' => 'select',
      '#required' => TRUE,
      '#title' => $this->t('Ansible configuration'),
      '#default_value' => $this->configuration['entity'],
      '#options' => self::getentity(),
    ];
    return $form;

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

  private static function getentity() {
    $entities = \Drupal::entityQuery('ansible_entity')->execute();
    $entities_list = \Drupal::entityTypeManager()->getStorage('ansible_entity')->loadMultiple($entities);
 
    $entities_data = [];
    foreach ($entities_list as $entitie) {
      $entities_data[$entitie->id()] = $entitie->label();
    }
 
    return $entities_data;
  }

 

 

Drupal

Ajouter un commentaire

Image CAPTCHA
Enter the characters shown in the image.