Bagaimana cara mendaftar semua tipe entitas yang tersedia di Drupal menggunakan drush?
Terkait:
Bagaimana cara mendaftar semua tipe entitas yang tersedia di Drupal menggunakan drush?
Terkait:
Jawaban:
drush eval "print_r(array_keys(entity_get_info()));"
drush eval "print_r(array_keys(\Drupal::entityTypeManager()->getDefinitions()));"
sesuai saran Jason ,
atau:
drush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()));"
sesuai saran @RaisinBranCrunch . Catatan \Drupal::entityManager()
sedang tidak digunakan dalam 8.x.
drush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
entityManager
sudah usang pada versi terbaru dari d8, gunakan entityTypeManager
untuk versi yang lebih baru
Gunakan perintah konsol drupal:
drupal debug:entity
atau (tangan pendek):
drupal de
Ini akan menghasilkan daftar singkat entitas yang tersedia dalam instance Anda .
Anda dapat membuat perintah drush bernama entities-list
. Buat modul, masukkan ke dalam file bernama drush_entity.drush.inc
dan rekatkan kode ini:
<?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));
}
Instal modul, jalankan drush cc drush
untuk menghapus cache drush dan gunakan perintah seperti ini:
drush el
atau
drush entities-list
Jika Anda ingin menambahkan alias lain ke perintah tambahkan elemen ke array alias seperti ini:
'aliases' => array('el', 'another'),
Dan Anda dapat menggunakan perintah ini:
drush el
drush entities-list
drush another
Outputnya selalu:
Machine name:
entity 1
entity 2
entity...
entity n
EDIT:
Ada solusi lain menggunakan modul Drush Entity :
drush entity-type-read