Як перелічити всі наявні типи сутностей у 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.х.
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