Comment lister tous les types d'entités disponibles?


Réponses:


29

Drupal 7

drush eval "print_r(array_keys(entity_get_info()));"

Drupal 8

drush eval "print_r(array_keys(\Drupal::entityTypeManager()->getDefinitions()));"

selon la suggestion de Jason ,

ou:

drush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()));"

selon la suggestion @RaisinBranCrunch . La note \Drupal::entityManager()est déconseillée dans 8.x.


1
Pour Drupal 8, drush eval "print_r (array_keys (\ Drupal :: entityTypeManager () -> getDefinitions ()));"
Jason

2
Pour moi, ça doit êtredrush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
RaisinBranCrunch

utilisez Cpas E au lieu de e dans EntityManager. drush eval "print_r (array_keys (\ Drupal :: EntityManager () -> getDefinitions‌ ()))"; entityManager est déprécié
Suresh Kumara

1
entityManagerest déconseillé sur les dernières versions de d8, à utiliser entityTypeManagerpour les versions plus récentes
wranvaud

6

Drupal 8

Utilisez la commande de la console drupal:

drupal debug:entity

ou (main courte):

drupal de

Cela produira une liste concise des entités disponibles dans votre instance.


1
L'OP dit spécifiquement "Using Drush"
Frank Robert Anderson

2
drush eval 'system ("drupal de");' 😉
diamondsea

Merci @diamondsea 😉
Latinrickshaw

3

Vous pouvez créer une commande drush nommée entities-list. Créez un module, placez-le dans un fichier nommé drush_entity.drush.incet collez ce code:

<?php
/**
 * @file
 * Drush commands related to Entities.
 */

/**
* Implements hook_drush_command().
*/
function drush_entity_drush_command() {
  $items['entities-list'] = array(
    'description' => dt("Show a list of available entities."),
    'aliases' => array('el'),
  );
  return $items;
}

/**
 * Callback for the content-type-list command.
 */
function drush_drush_entity_entities_list() {
  $entities = array_keys(entity_get_info());
  sort($entities);

  drush_print(dt("Machine name"));
  drush_print(implode("\r\n", $entities));
}

Installez le module, exécutez drush cc drushpour effacer le cache drush et utilisez la commande comme ceci:

drush el

ou

drush entities-list

Si vous souhaitez ajouter un autre alias à la commande, ajoutez des éléments au tableau d'alias comme ceci:

'aliases' => array('el', 'another'),

Et vous pouvez utiliser ces commandes:

drush el
drush entities-list
drush another

La sortie sera toujours:

Machine name:
entity 1
entity 2
entity...
entity n

ÉDITER:

Il existe une autre solution utilisant le module Drush Entity :

drush entity-type-read

1
Un autre downvoter qui ne dit pas quel est le problème avec la réponse vient d'appuyer sur le bouton downvote. Mais si vous ne dites pas quel est le problème, je ne peux pas le résoudre.
Adrian Cid Almaguer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.