Listando campos da entidade

8

Gostaria de saber se existe uma maneira boa e fácil de obter todos os campos de uma entidade.

Eu tenho um vocabulário de taxonomia. Seus termos têm um campo especial que eu quero listar em uma caixa de seleção em um dos meus módulos, para que os usuários possam selecionar um valor especial do termo. Portanto, preciso de uma maneira de listar os campos possíveis para esse termo.

Johnny
fonte

Respostas:

4

Drupal 7

Você pode tentar:

  $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']);

Ou se você possui o módulo Entity instalado, tente:

entity_get_all_property_info('node');

Comandos Drush (um deles):

drush eval "var_dump(entity_get_all_property_info('node'));"
drush eval "print var_export(array_keys(entity_get_all_property_info('node')));"
kenorb
fonte
2

Também pode usar a função: field_info_field_map ()

Em vez de retornar as entidades que vão para os campos, ele começa no campo e desce para as entidades. O segundo é bom para ver para onde os campos estão indo, enquanto field_info_instances () mostra como as entidades são construídas.

jmary
fonte