[development] How to list fields and types

Yves Chedemois yched.drupal at free.fr
Mon Jan 24 10:53:26 UTC 2011


This is D6 code for the CCK API.
In D7, you can use field_info_instances('node').

foreach (field_info_instances('node') as $node_type => $instances) {
   foreach ($instances as $instance) {
     $field = field_info_field($field_name);
     drupal_set_message(t('node type: %node_type, name: %field_name, 
label: %label, type: %type',
       array(
         '%node_type' => $node_type,
         '%field_name' => $field['field_name'],
         '%label' => $instance['label'],
         '%type' => $field['type'],
       ))
      );
   }
}


Le 19/01/2011 16:28, nan wich a écrit :
> From the RealName module:
>   $all_fields = content_fields(NULL, $type);
>   if ($all_fields) {
>     foreach ($all_fields as $field_name => $field_attributes) {
>       // If it's not the type we are looking for, then skip the field.
>       if ($field_attributes['type_name'] != $type) {
>         continue;
>       }
>       switch ($field_attributes['type']) {
>         case 'text':
>           if ($field_attributes['multiple']) {
>             drupal_set_message(t('The RealName module does not 
> currently support fields with multiple values, such as @fld.', 
> array('@fld' <mailto:%27 at fld%27>=> $field_name)), 'warning');
>           }
>           else {
>             $selected = array_key_exists($field_name, $current);
>             $fields[$field_name] = array(
>               'title' => $field_attributes['widget']['label'],
>               'weight' => $selected ? $current[$field_name] : 0,
>               'selected' => $selected,
>               );
>           }
>           break;
>         case 'link':
>           $links[$field_name] = $field_attributes['widget']['label'];
>       }
>     }
>   }
>   else {
>     drupal_set_message(t('The !type content type has no fields to 
> use.', array('!type' => $type)), 'error');
>   }
>
> /*Nancy*/
>
> Injustice anywhere is a threat to justice everywhere. -- Dr. Martin L. 
> King, Jr.
>
>
>
> ------------------------------------------------------------------------
> *From:* Fernando Correa da Conceição <fernando at jaguaribe.net>
> *To:* development at drupal.org
> *Sent:* Wed, January 19, 2011 9:59:17 AM
> *Subject:* [development] How to list fields and types
>
> I have a $node object, in this node there is some fields (Drupal 7). 
> The module works on all contents type, so i do not know what fields 
> the node have. I need to list all fields from a node and get the type 
> of field.
> Someone can show a example how to do this please?
>
> Thanks.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20110124/78afd0a0/attachment-0001.html 


More information about the development mailing list