Чтобы получить список полей cck типа контента, я надеялся использовать:
drupal_get_schema('content_type_mycontenttype');
но это оставляет поля с несколькими значениями. Есть ли простой вызов для получения такого списка?
Для Drupal 7, проверьте функцию field_info_instances , чтобы получить список полей для определенного типа содержимого узла.
Вот пример использования, который будет извлекать все поля для типа содержимого узла.
$ my_content_type_fields = field_info_instances ("узел", "my_node_content_type");
Взгляните на функцию content_fields , и, если у вас нет нужной информации, есть _content_type_info .
Кроме того, если у вас естьинформацию о полях, вы можете извлечь хранилище таблицы и имена столбцов, используя content_database_info .
Я использовал что-то подобное прежде, чтобы сделать быстрый список информации о поле CCK для типа контента:
$mytype = 'article'; $contentinfo = _content_type_info(); $output .= "<ul>"; foreach($contentinfo['fields'] as $field) { if ($field['type_name'] == $mytype) { $output .= '<li id="field-' . $field['field_name'] . '">' . $field['widget']['label'] . '<br>'; if ($field['widget']['description']) { $output .= $field['widget']['description'] . '<br>'; } $output .= '<ul> <li>Content Types: ' . $field['type_name'] . '</li> <li>Type: ' . $field['type'] . '</li> <li>' . $field['field_name'] . '</li> </ul>'; } } $output .= '</ul>';