अन्य ड्रुपल मॉड्यूल का उपयोग करने के लिए मैं अपना खुद का हुक कैसे बना सकता हूं (ड्रुपल कोर बनाता है) के समान?
अन्य ड्रुपल मॉड्यूल का उपयोग करने के लिए मैं अपना खुद का हुक कैसे बना सकता हूं (ड्रुपल कोर बनाता है) के समान?
जवाबों:
आप वास्तव में हुक नहीं बनाते हैं। आप सहायक कार्यों का उपयोग करते हैं जैसे कि module_invoke_all()
, module_invoke()
या drupal_alter()
अपेक्षित नाम पैटर्न से मेल खाते सभी कार्यों को लागू करने के लिए। आह्वान किए गए कार्य आमतौर पर पाए जाते हैं module_implements()
।
यहां तक कि अगर काम करने के लिए हुक की आवश्यकता नहीं है, तो सबसे अच्छा अभ्यास दस्तावेज टिप्पणियों के साथ MODULE.api.php
खाली स्टब्स hook_NAME
फ़ंक्शन बनाकर उन्हें दस्तावेज करना है ।
आप हुक भी बना सकते हैं, हुक_ट्रीगर_इनफो का उपयोग करके आप नए हुक बना सकते हैं, और आपके मॉड्यूल में आपको इसे लागू करना होगा। एक उदाहरण के रूप में, मान लीजिए कि आप नोड्स का एक संग्रह बनाना चाहते हैं और इसमें पुराने नोड्स डाल सकते हैं। जब आप संग्रह कार्रवाई करते हैं, तो आप हुक को ट्रिगर करना भी चाहते हैं। यह कुछ इस तरह से होने जा रहा है
function hook_trigger_info() {
return array(
'node' => array(
'archive_nodes' => array(
'label' => t('Archive old nodes'),
)
)
);
}
हुक को परिभाषित करने के बाद, आपका मॉड्यूल हुक को लागू करने और मॉड्यूल_invoke () या मॉड्यूल_ invoke_all () का उपयोग करने के लिए जिम्मेदार है ।
आप trigger
नोड टैब के तहत इस नए हुक को देखने के लिए मॉड्यूल को सक्षम कर सकते हैं।