Bagaimana cara mendaftar semua jenis entitas yang tersedia?

Jawaban:

29

Drupal 7

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

Drupal 8

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.

kenorb
sumber
1
Untuk Drupal 8, drush eval "print_r (array_keys (\ Drupal :: entityTypeManager () -> getDefinitions ()));"
Jason
2
Bagi saya itu harusdrush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
RaisinBranCrunch
gunakan Cpas E sebagai ganti e di EntityManager. drush eval "print_r (array_keys (\ Drupal :: EntityManager () -> getDefinitions‌ ()))"; entitasManager didepresiasi
Suresh Kumara
1
entityManagersudah usang pada versi terbaru dari d8, gunakan entityTypeManageruntuk versi yang lebih baru
wranvaud
6

Drupal 8

Gunakan perintah konsol drupal:

drupal debug:entity

atau (tangan pendek):

drupal de

Ini akan menghasilkan daftar singkat entitas yang tersedia dalam instance Anda .

Pertempuran Latin
sumber
1
OP mengatakan secara khusus "Menggunakan Drush"
Frank Robert Anderson
2
drush eval 'system ("drupal de");' 😉
diamondsea
Terima kasih @dondondsea 😉
Latinrickshaw
3

Anda dapat membuat perintah drush bernama entities-list. Buat modul, masukkan ke dalam file bernama drush_entity.drush.incdan 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 drushuntuk 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
Adrian Cid Almaguer
sumber
1
Downvoter lain yang tidak mengatakan apa masalah dengan jawabannya cukup tekan tombol downvote. Tetapi jika Anda tidak mengatakan apa masalahnya, saya tidak bisa memperbaikinya.
Adrian Cid Almaguer