Jak wyświetlić listę wszystkich dostępnych typów jednostek?


Odpowiedzi:


29

Drupal 7

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

Drupal 8

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

zgodnie z sugestią Jasona ,

lub:

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

zgodnie z sugestią @RaisinBranCrunch . Uwaga \Drupal::entityManager()jest przestarzała w wersji 8.x.


1
W przypadku Drupal 8 drush eval „print_r (klucze_kolejkowe (\ Drupal :: entityTypeManager () -> getDefinitions ()));”
Jason

2
Dla mnie to musi byćdrush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
RaisinBranCrunch

użyj Cpas E zamiast e w EntityManager. drush eval "print_r (keys_keys (\ Drupal :: EntityManager () -> getDefinitions‌ ()))"; entityManager jest depricated
Suresh Kumara,

1
entityManagerjest przestarzałe w najnowszych wersjach d8, użyj entityTypeManagerdla nowszych wersji
wranvaud

6

Drupal 8

Użyj polecenia konsoli drupal:

drupal debug:entity

lub (krótka ręka):

drupal de

Spowoduje to utworzenie zwięzłej listy podmiotów dostępnych w Twojej instancji.


2
OP mówi konkretnie „Korzystanie z Drusha”
Frank Robert Anderson

2
drush eval 'system („drupal de”); ” 😉
diamondsea

Dzięki @diamondsea 😉
Latinrickshaw

3

Możesz utworzyć komendę drush o nazwie entities-list. Utwórz moduł, umieść w pliku o nazwie drush_entity.drush.inci wklej ten kod:

<?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));
}

Zainstaluj moduł, uruchom, drush cc drushaby wyczyścić pamięć podręczną drush i użyj następującego polecenia:

drush el

lub

drush entities-list

Jeśli chcesz dodać kolejny alias do polecenia, dodaj elementy do tablicy aliasów w następujący sposób:

'aliases' => array('el', 'another'),

I możesz użyć tych poleceń:

drush el
drush entities-list
drush another

Zawsze wynik będzie:

Machine name:
entity 1
entity 2
entity...
entity n

EDYTOWAĆ:

Istnieje inne rozwiązanie wykorzystujące moduł Drush Entity :

drush entity-type-read

1
Inny downvoter, który nie mówi, na czym polega problem z odpowiedzią, po prostu naciśnij przycisk downvote. Ale jeśli nie powiesz, na czym polega problem, nie mogę go naprawić.
Adrian Cid Almaguer
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.