Come elencare tutti i tipi di entità disponibili?


Risposte:


29

Drupal 7

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

Drupal 8

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

come suggerito da Jason ,

o:

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

come da suggerimento @RaisinBranCrunch . La nota \Drupal::entityManager()è stata deprecata in 8.x.


1
Per Drupal 8, drush eval "print_r (array_keys (\ Drupal :: entityTypeManager () -> getDefinitions ()));"
Jason,

2
Per me deve esseredrush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
RaisinBranCrunch

utilizzare Cpas E anziché e in EntityManager. drush eval "print_r (array_keys (\ Drupal :: EntityManager () -> getDefinitions‌ ()))"; entityManager è deprecato
Suresh Kumara,

1
entityManagerè deprecato per le ultime versioni di d8, utilizzare entityTypeManagerper le versioni più recenti
wranvaud,


3

È possibile creare un comando drush denominato entities-list. Crea un modulo, inserisci un file chiamato drush_entity.drush.ince incolla questo codice:

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

Installa il modulo, esegui drush cc drushper cancellare la cache del drush e usa il comando in questo modo:

drush el

o

drush entities-list

Se si desidera aggiungere un altro alias al comando aggiungere elementi alla matrice di alias in questo modo:

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

E puoi usare questi comandi:

drush el
drush entities-list
drush another

L'output sarà sempre:

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

MODIFICARE:

Esiste un'altra soluzione che utilizza il modulo Drush Entity :

drush entity-type-read

1
Un altro downvoter che non dice qual è il problema con la risposta ha appena premuto il pulsante downvote. Ma se non dici qual è il problema, non posso risolverlo.
Adrian Cid Almaguer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.