Liste des champs d'entité

8

Je me demande s'il existe un moyen simple et efficace d'obtenir tous les champs d'une entité.

J'ai un vocabulaire taxonomique. Ses termes ont un champ spécial que je veux créer dans une case de sélection de l'un de mes modules, afin que les utilisateurs puissent sélectionner une valeur spéciale du terme. Par conséquent, j'ai besoin d'un moyen de répertorier les champs possibles pour ce terme.

Johnny
la source

Réponses:

4

Drupal 7

Vous pouvez essayer:

  $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 si vous avez installé le module Entity , essayez:

entity_get_all_property_info('node');

Commandes Drush (l'une d'elles):

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

Peut également utiliser la fonction: field_info_field_map ()

Au lieu d'entités de retour descendant vers les champs, il commence à partir du champ et descend vers les entités. Cette seconde est très bien pour voir où vont les champs, tandis que field_info_instances () montre comment les entités sont construites.

jmary
la source