วิธีรายการประเภทเอนทิตีที่มีอยู่ทั้งหมดใน 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 console:
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 และใช้คำสั่งดังนี้:
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