利用可能なすべてのエンティティタイプをリストする方法


回答:


29

Drupal 7

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

Drupal 8

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

あたりとしてジェイソンの提案

または:

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

あたりとして@RaisinBranCrunch提案。注\Drupal::entityManager()は8.xで非推奨になりました。


1
Drupal 8の場合、eval "print_r(array_keys(\ Drupal :: entityTypeManager()-> getDefinitions()));;);
ジェイソン

2
私にとってはそれがなければならないdrush eval "print_r(array_keys(\Drupal::entityManager()->getDefinitions()))";
RaisinBranCrunch

EntityManagerでeの代わりにCpas Eを使用します。drush eval "print_r(array_keys(\ Drupal :: EntityManager()-> getDefinitions‌()))"; EntityManagerのは、廃止予定されて
スレシュクマラを

1
entityManagerD8、使用の最新バージョンでは廃止されましたentityTypeManager新しいバージョンのために
wranvaud


3

という名前のブラシコマンドを作成できますentities-list。モジュールを作成し、ファイルに名前drush_entity.drush.incを付けてこのコードを貼り付けます:

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

モジュールをインストールし、実行drush cc drushしてブラシキャッシュをクリアし、次のようなコマンドを使用します。

drush el

または

drush entities-list

コマンドに別のエイリアスを追加する場合は、次のようにエイリアス配列に要素を追加します。

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

そして、次のコマンドを使用できます。

drush el
drush entities-list
drush another

常に出力は次のようになります。

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

編集:

Drush Entityモジュールを使用する別のソリューションがあります。

drush entity-type-read

1
答えの問題は何であるかを言わない別のダウンボッターは、ダウンボットボタンを押します。しかし、あなたは問題が何であるかを言わないならば、私はそれを修正することができません。
エイドリアンシドアルマグエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.