¿Cómo enumerar todos los tipos de entidades disponibles?


Respuestas:


29

Drupal 7

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

Drupal 8

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

según la sugerencia de Jason ,

o:

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

según la sugerencia de @RaisinBranCrunch . La nota \Drupal::entityManager()está en desuso en 8.x.


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

2
Para mí tiene que serdrush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
RaisinBranCrunch

use Cpas E en lugar de e en EntityManager. drush eval "print_r (array_keys (\ Drupal :: EntityManager () -> getDefinitions‌ ()))"; entityManager es depricated
Suresh Kumara

1
entityManagerestá en desuso en las últimas versiones de d8, entityTypeManager
úselo

6

Drupal 8

Use el comando de consola drupal:

drupal debug:entity

o (mano corta):

drupal de

Esto producirá una lista concisa de entidades disponibles en su instancia.


1
El OP dice específicamente "Usar Drush"
Frank Robert Anderson

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

Gracias @diamondsea 😉
Latinrickshaw

3

Puede crear un comando drush llamado entities-list. Cree un módulo, coloque dentro de un archivo llamado drush_entity.drush.incy pegue este código:

<?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));
}

Instale el módulo, ejecute drush cc drushpara borrar el caché drush y use el comando como este:

drush el

o

drush entities-list

Si desea agregar otro alias al comando, agregue elementos a la matriz de alias de esta manera:

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

Y puedes usar estos comandos:

drush el
drush entities-list
drush another

Siempre la salida será:

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

EDITAR:

Hay otra solución usando el módulo Drush Entity :

drush entity-type-read

1
Otro votante que no dice cuál es el problema con la respuesta simplemente presiona el botón de votación negativa. Pero si no dice cuál es el problema, no puedo solucionarlo.
Adrian Cid Almaguer
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.