it-swarm-ja.com

使用可能なすべてのエンティティタイプを一覧表示する方法は?

Drupalで使用可能なすべてのエンティティタイプをdrushを使用してリストする方法は?

関連:

17
kenorb

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で廃止される予定です。

29
kenorb

Drupal 8

drupalコンソールコマンドを使用します。

drupal debug:entity

または(短い手):

drupal de

これにより、yourインスタンスで使用可能なエンティティの簡潔なリストが生成されます。

6
Latinrickshaw

entities-listという名前のDrushコマンドを作成できます。モジュールを作成し、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キャッシュをクリアし、次のようなコマンドを使用します。

drush el

または

drush entities-list

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

'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
3