如何按Drupal中的内容类型列出CCK字段

时间:2010-06-07 18:35:28

标签: drupal drupal-6 cck

要获取内容类型的cck字段列表,我希望使用:

drupal_get_schema('content_type_mycontenttype');

但是这会遗漏具有多个值的字段。是否有一个简单的调用来获得这样的列表?

3 个答案:

答案 0 :(得分:3)

查看content_fields功能,如果没有您需要的信息,则有_content_type_info

此外,获得字段信息后,您可以使用content_database_info提取表存储和列名称。

答案 1 :(得分:3)

对于Drupal 7,请查看field_info_instances函数以检索特定节点内容类型的字段列表。

以下是一个示例用法,它将检索节点内容类型的所有字段。

$ my_content_type_fields = field_info_instances(“node”,“my_node_content_type”);

答案 2 :(得分:1)

之前我使用过这样的内容来为内容类型快速列出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>';