2011-10-14 13 views

उत्तर

6

ड्रूपल 7 में आपके पास संस्थाएं और फ़ील्ड हैं; क्षेत्र इकाइयों से जुड़े हुए हैं। एक नोड एक इकाई का कार्यान्वयन होता है (नोड मॉड्यूल hook_entity_info() और अन्य ऐसे हुक लागू करता है) ताकि इसमें फ़ील्ड हो सकें।

सभी क्षेत्र/संस्था रिलेशनल डेटा तालिकाओं field_data_field_x और field_revision_field_x या इसी तरह में संग्रहित है (फ़ील्ड डेटा के उत्तरार्द्ध संभावित भंडारण संशोधन करता है, तो नोड संशोधन लागू किए गए हैं)।

entity_id उन तालिकाओं में कॉलम नोड की आईडी है, और bundle नोड की सामग्री प्रकार है। revision_id नोड की संशोधन आईडी है, फिर नोड संशोधन पुन: सक्षम होने पर केवल वास्तव में उपयोगी है।

अद्यतन

Drupal शब्दावली में किसी सामग्री प्रकार एक bundle और bundle रों संस्थाओं से जुड़े होते हैं (इस मामले node इकाई में) है। जब आप कोई नई सामग्री प्रकार बनाते हैं तो यह node_type तालिका में संग्रहीत हो जाता है, और जब कैश साफ़ हो जाते हैं (जो सभी मॉड्यूल पर hook_entity_info को आमंत्रित करता है) node_entity_info() फ़ंक्शन सामग्री प्रकारों से बंडलों की एक सूची बनाता है (बिट में एक नज़र डालें वह कार्य जो foreach (node_type_get_names() as $type => $name) { से शुरू होता है, node_type_get_names सभी सामग्री प्रकारों की एक सूची प्राप्त करता है)।

जैसा ऊपर चर्चा की गई है, उपरोक्त क्षेत्रों को इकाइयों से जोड़ा जा सकता है, इसलिए फ़ील्ड bundle के डेल्टा (यदि आपको पसंद है) के साथ नोड्स से जोड़ा जा सकता है।

+0

GUI कार्यान्वयन hook_entity_info में एक सामग्री प्रकार कैसे बनाया जाता है? मैं समझता हूं कि फील्ड डेटा कैसे संग्रहीत होता है, लेकिन फ़ॉर्म कैसे बनाया जाता है? –

+1

क्या यह field_config_instance है जो परिभाषित करता है कि कौन से फ़ील्ड किसके साथ जाते हैं? –

+0

@ChrisMuench: अगर मैंने आपको किसी भी स्पष्टीकरण की आवश्यकता है तो मुझे जवाब बता दिया गया है कि अगर आप कोर मॉड्यूल के अंदर घूमते नहीं हैं तो यह काफी जटिल है! – Clive

संबंधित मुद्दे