Làm thế nào để liệt kê tất cả các loại thực thể có sẵn?


Câu trả lời:


29

Drupal 7

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

Drupal 8

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.


1
Đối với Drupal 8, drush eval "print_r (mảng_keys (\ Drupal :: entityTypeManager () -> getDefDefs ()));"
Jason

2
Đối với tôi nó phải làdrush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
RaisinBranCrunch

sử dụng Cpas E thay vì e trong EntityManager. drush eval "print_r (mảng_keys (\ Drupal :: EntityManager () -> getDefDefs‌ ()))"; entityManager bị lỗi
Suresh Kumara

1
entityManagerkhông dùng nữa trên các phiên bản mới nhất của d8, sử dụng entityTypeManagercho các phiên bản mới hơn
wranvaud

5

Drupal 8

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 .


1
OP nói cụ thể là "Sử dụng Drush"
Frank Robert Anderson

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

Cảm ơn @diamondsea
Latinrickshaw

3

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.incvà 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

1
Một downvoter khác không nói vấn đề gì với câu trả lời chỉ cần nhấn nút downvote. Nhưng nếu bạn không nói vấn đề gì thì tôi không thể sửa nó.
Adrian Cid Almaguer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.