Как перечислить все доступные типы сущностей в Drupal, используя drush?
Связанный:
Как перечислить все доступные типы сущностей в Drupal, используя drush?
Связанный:
Ответы:
drush eval "print_r(array_keys(entity_get_info()));"
drush eval "print_r(array_keys(\Drupal::entityTypeManager()->getDefinitions()));"
согласно предложению Джейсона ,
или:
drush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()));"
согласно предложению @RaisinBranCrunch . Примечание \Drupal::entityManager()
является устаревшим в 8.x.
drush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
entityManager
устарела в последних версиях d8, используйте entityTypeManager
для более новых версий
Используйте консольную команду drupal:
drupal debug:entity
или (короткая рука):
drupal de
Это даст краткий список сущностей, доступных в вашем экземпляре.
Вы можете создать команду drush с именем entities-list
. Создайте модуль, поместите в файл с именем drush_entity.drush.inc
и вставьте этот код:
<?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));
}
Установите модуль, запустите, drush cc drush
чтобы очистить кэш-память, и используйте следующую команду:
drush el
или
drush entities-list
Если вы хотите добавить другой псевдоним в команду, добавьте элементы в массив псевдонимов следующим образом:
'aliases' => array('el', 'another'),
И вы можете использовать эту команду:
drush el
drush entities-list
drush another
Всегда вывод будет:
Machine name:
entity 1
entity 2
entity...
entity n
РЕДАКТИРОВАТЬ:
Существует другое решение, использующее модуль Drush Entity :
drush entity-type-read