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.


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 .


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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.