วิธีแสดงประเภทเอนทิตีที่มีอยู่ทั้งหมด


คำตอบ:


29

Drupal 7

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

Drupal 8

drush eval "print_r(array_keys(\Drupal::entityTypeManager()->getDefinitions()));"

ตามเจสันข้อเสนอแนะ ,

หรือ:

drush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()));"

ตามข้อเสนอแนะ @RaisinBranCrunch หมายเหตุ\Drupal::entityManager()กำลังเลิกใช้ใน 8.x


1
สำหรับ Drupal 8, drush eval "print_r (array_keys (\ Drupal :: entityTypeManager () -> getDefinitions ()));"
Jason

2
สำหรับฉันมันต้องเป็นdrush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
RaisinBranCrunch

ใช้ Cpas E แทน e ใน EntityManager drush eval "print_r (array_keys (\ Drupal :: EntityManager () -> getDefinitions‌ ()))"; เอนทิตีผู้จัดการจะแสดงแทน
Suresh Kumara

1
entityManagerถูกเลิกใช้ในรุ่นล่าสุดของ d8 ใช้entityTypeManagerสำหรับรุ่นที่ใหม่กว่า
wranvaud

6

Drupal 8

ใช้คำสั่ง drupal console:

drupal debug:entity

หรือ (มือสั้น):

drupal de

รายการนี้จะสร้างรายการย่อของเอนทิตีที่มีอยู่ในอินสแตนซ์ของคุณ


2
OP กล่าวโดยเฉพาะ "การใช้ Drush"
Frank Robert Anderson

2
ระบบ evush ของ drush ("drupal de"); ' 😉
diamondsea

ขอบคุณ @diamondsea 😉
Latinrickshaw

3

คุณสามารถสร้างคำสั่ง 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 และใช้คำสั่งดังนี้:

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

1
Downvoter อีกตัวที่ไม่ได้แจ้งว่ามีปัญหาอะไรกับคำตอบเพียงแค่กดปุ่ม downvote แต่ถ้าคุณไม่บอกว่ามีปัญหาอะไรฉันไม่สามารถแก้ไขได้
Adrian Cid Almaguer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.