Список полей сущности

8

Интересно, есть ли хороший и простой способ получить все поля сущности.

У меня есть словарь таксономии. В его терминах есть специальное поле, которое я хочу сделать списком в поле выбора в одном из моих модулей, чтобы пользователи могли выбрать специальное значение термина. Поэтому мне нужен способ перечислить возможные поля для этого термина.

Джонни
источник

Ответы:

4

Drupal 7

Вы можете попробовать:

  $info = entity_get_property_info($entity_type);
  $info += array(
    'properties' => array(),
    'bundles' => array(),
  );
  // Add all bundle properties.
  foreach ($info['bundles'] as $bundle => $bundle_info) {
    $bundle_info += array('properties' => array());
    $info['properties'] += $bundle_info['properties'];
  }
  var_dump($info['properties']);

Или, если у вас установлен модуль Entity , попробуйте:

entity_get_all_property_info('node');

Команды Drush (одна из них):

drush eval "var_dump(entity_get_all_property_info('node'));"
drush eval "print var_export(array_keys(entity_get_all_property_info('node')));"
kenorb
источник
2

Также можно использовать функцию: field_info_field_map ()

Вместо возврата сущностей, идущих вниз к полям, он начинается с поля и спускается к сущностям. Второй хорошо видеть, куда идут поля, тогда как field_info_instances () показывает, как создаются объекты.

jmary
источник