जैसा कि अन्य द्वारा इंगित किया गया है, का उपयोग hook_preprocess_page()
कार्यान्वयन से नहीं करता है। drupal_add_js()
पर एकाधिक कॉल के माध्यम से एकत्र की गई जावास्क्रिप्ट फ़ाइलों के संदर्भ template_preprocess_page()
से $scripts
चर में संबंधित मार्कअप उत्पन्न करने के लिए उपयोग किए जाते हैं। लेकिन hook_preprocess_page()
का थीम का कार्यान्वयन हमेशा template_preprocess_page()
के बाद बुलाया जाता है। तो आदेश फ़ाइलें आपके .tpl.php
फ़ाइल (फ़ाइलें) में drupal_add_js()
के माध्यम से जोड़ा है करने के लिए आपको ओवरराइड करने के लिए पहले से ही $scripts
चर सेट की जरूरत है:
function THEME_preprocess_page(&$variables)
drupal_add_js(...);
$variables['scripts'] = drupal_get_js();
}
लेकिन, आप अपने आप को jquery.js
और drupal.js
जोड़ने के लिए नहीं होना चाहिए, यह ड्रूपल कोर द्वारा पहले ही स्वचालित रूप से किया जाना चाहिए। यदि आपको इसे स्वयं करने की ज़रूरत है, तो आपकी साइट पर कुछ टूटा हुआ है। आप फ़ाइलों को त्वरित फिक्स के रूप में जोड़ सकते हैं, लेकिन आप इस मुद्दे के मूल कारण को बेहतर तरीके से ढूंढ सकते हैं क्योंकि यह संभवतः अन्य समस्याओं को बनाने की संभावना है जिन्हें आपने अभी तक पहचाना नहीं है (या इसे महसूस किए बिना काम किया है)।
स्रोत
2011-10-31 11:40:57
आप सही हैं। एक बार जब मैं इसे फ़ंक्शन से बाहर ले जाता हूं और इसे वैश्विक दायरे में बाहर रखता हूं, तो यह एक आकर्षण की तरह काम करता है। :) मेरे पास एक और सवाल है। यह सिर्फ विशुद्ध रूप से ज्ञान के लिए है। आउटपुट में दो अलग-अलग स्थानों से दो बार उन फ़ाइलों को दोहराएं क्यों? कोई विचार? यहां बताया गया है कि यह कैसा दिखता है - – Andrew
<स्क्रिप्ट टाइप = "टेक्स्ट/जावास्क्रिप्ट" src = "/ drupal/misc/jquery.js? 4"> <स्क्रिप्ट टाइप = "टेक्स्ट/जावास्क्रिप्ट" src = "/ drupal/Misc/drupal .js? 4 "> <स्क्रिप्ट टाइप =" टेक्स्ट/जावास्क्रिप्ट "src ="/drupal/jquery.js? 4 "> <स्क्रिप्ट टाइप =" टेक्स्ट/जावास्क्रिप्ट "src ="/drupal/drupal.js ? 4 "> उपयोगकर्ता द्वारा सुझाए गए अनुसार - स्कॉट, मैंने अपने थीम फ़ोल्डर के तहत उन फ़ाइलों का उपयोग करना बंद कर दिया और इसके बजाय ड्रूपल डिफ़ॉल्ट का उपयोग किया। तो drupal_add_js फ़ंक्शन में कोई पथ उल्लेख नहीं है; दूसरे शब्दों में, बस फ़ाइल का नाम - drupal_add_js ('jquery.js') – Andrew
और, उन 2 फ़ाइलों को स्वचालित रूप से ड्रूपल द्वारा विषय में जोड़ा जाना चाहिए। पृष्ठ.tpl.php –