¿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.