Làm thế nào để liệt kê tất cả các loại thực thể có sẵn trong Drupal bằng cách sử dụng drush?
Liên quan:
Làm thế nào để liệt kê tất cả các loại thực thể có sẵn trong Drupal bằng cách sử dụng drush?
Liên quan:
Câu trả lời:
drush eval "print_r(array_keys(entity_get_info()));"
drush eval "print_r(array_keys(\Drupal::entityTypeManager()->getDefinitions()));"
theo Jason gợi ý ,
hoặc là:
drush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()));"
theo đề xuất @RaisinBranCrunch . Lưu ý \Drupal::entityManager()
đang bị phản đối trong 8.x.
drush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
entityManager
không dùng nữa trên các phiên bản mới nhất của d8, sử dụng entityTypeManager
cho các phiên bản mới hơn
Sử dụng lệnh console drupal:
drupal debug:entity
hoặc (tay ngắn):
drupal de
Điều này sẽ tạo ra một danh sách ngắn gọn các thực thể có sẵn trong ví dụ của bạn .
Bạn có thể tạo một lệnh drush có tên entities-list
. Tạo một mô-đun, đặt bên trong một tệp có tên drush_entity.drush.inc
và dán mã này:
<?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));
}
Cài đặt mô-đun, chạy drush cc drush
để xóa bộ đệm ẩn và sử dụng lệnh như thế này:
drush el
hoặc là
drush entities-list
Nếu bạn muốn thêm một bí danh khác vào lệnh, hãy thêm các phần tử vào mảng bí danh như thế này:
'aliases' => array('el', 'another'),
Và bạn có thể sử dụng các lệnh này:
drush el
drush entities-list
drush another
Luôn luôn đầu ra sẽ là:
Machine name:
entity 1
entity 2
entity...
entity n
BIÊN TẬP:
Có một giải pháp khác sử dụng mô-đun Drush Entity :
drush entity-type-read