web-dev-qa-db-fra.com

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

Comment lister tous les types d'entités disponibles dans Drupal using drush?

En relation:

17
kenorb

Drupal 7

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

Drupal 8

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

selon suggestion de Jason,

ou:

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

selon @ suggestion RaisinBranCrunch . Remarque \Drupal::entityManager() est obsolète dans 8.x.

29
kenorb

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.

6
Latinrickshaw

Vous pouvez créer une commande drush nommée entities-list. Créez un module, placez-le dans un fichier nommé drush_entity.drush.inc et 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 drush pour vider le cache drush et utiliser 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

MODIFIER:

Il existe une autre solution utilisant le module Drush Entity :

drush entity-type-read
3
Adrian Cid Almaguer