drupal ड्रुपल में सामग्री प्रकार से सीसीके फ़ील्ड को कैसे सूचीबद्ध किया जाए




drupal-6 cck (3)

किसी सामग्री प्रकार की सीक क्षेत्रों की सूची प्राप्त करने के लिए, मैं उपयोग करने की उम्मीद कर रहा था:

drupal_get_schema('content_type_mycontenttype');

लेकिन वह कई मानों के साथ खेतों को छोड़ देता है ऐसी सूची पाने के लिए क्या एक साधारण कॉल है?


सामग्री प्रकार के लिए सीसीके फील्ड की एक त्वरित सूची करने से पहले मैंने इस तरह कुछ इस्तेमाल किया है:

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

Drupal 7 के लिए, field_info_instances फ़ंक्शन को एक विशेष नोड सामग्री प्रकार के लिए फ़ील्ड की सूची पुनर्प्राप्त करने के लिए देखें।

यहां एक उदाहरण का उपयोग किया गया है जो नोड सामग्री प्रकार के लिए सभी फ़ील्ड पुनर्प्राप्त करेगा।

$ my_content_type_fields = field_info_instances ("नोड", "my_node_content_type");


Content_fields फ़ंक्शन पर एक नज़र डालें, और अगर आपकी जानकारी की आवश्यकता नहीं है, तो _content_type_info है

इसके अतिरिक्त, एक बार आपके पास क्षेत्र की जानकारी है, तो आप content_database_info का उपयोग कर तालिका संग्रहण और स्तंभ नाम निकाल सकते हैं