मैं Drupal 7 का उपयोग कर रहा हूं, जो डिफ़ॉल्ट रूप में jQuery 1.4 का उपयोग करता है? मैं इसे नवीनतम संस्करण (वर्तमान में 1.7) में कैसे अपडेट कर सकता हूं?
मैं Drupal 7 का उपयोग कर रहा हूं, जो डिफ़ॉल्ट रूप में jQuery 1.4 का उपयोग करता है? मैं इसे नवीनतम संस्करण (वर्तमान में 1.7) में कैसे अपडेट कर सकता हूं?
जवाबों:
एक तरह से स्थापित करने के लिए है देव संस्करण के jQuery अद्यतन (कम से सेटिंग पृष्ठ पर जाकर जो आप jQuery 1.7 उपयोग करने का विकल्प देता है, http://mysite.com/admin/config/development/jquery_update )।
हालांकि सावधान रहें, वर्तमान में यह साइट में कहीं और जावास्क्रिप्ट को तोड़ने के लिए जाना जाता है (उदाहरण के लिए प्रबंधित फ़ील्ड पृष्ठ पर विजेट ड्रॉपडाउन अब नहीं होगा)। यदि आप इसे ठीक करने के लिए तैयार हैं, और कोई अन्य छोटी झुंझलाहट, तो यह शायद आपका सबसे अच्छा दांव है। आपको यह भी ध्यान देना चाहिए कि मॉड्यूल के देव संस्करण का उपयोग करना जोखिम के बिना नहीं है, क्योंकि इसके होने की संभावना एक विशिष्ट रिलीज का उपयोग करने की तुलना में बहुत अधिक है।
यदि आप इसे मैन्युअल रूप से करना चाहते हैं, तो आपकी साइट को अपेक्षित रूप से कार्य करने के लिए फिर से लिखने के लिए आपके पास बहुत सारे जावास्क्रिप्ट कोड होंगे; jQuery ने संस्करण 1.4 / 1.5 और 1.7 के बीच एक बहुत कुछ बदल दिया है, इसलिए कोर ड्रुपल जावास्क्रिप्ट कोड के बहुत सारे बस इसके साथ काम नहीं करेंगे।
यदि आप jQuery 1.7 के एक संस्करण में बस छोड़ना चाहते हैं, तो आप संभवतः लागू कर सकते हैं hook_js_alter()
, कोर jQuery फ़ाइल को परेशान कर सकते हैं , और इसमें अपना खुद का स्थान जोड़ सकते हैं:
function MYMODULE_js_alter(&$js) {
$path = drupal_get_path('module', 'MYMODULE') . '/path/to/jquery.1.7.js';
// Copy the current jQuery file settings and change
$js[$path] = $js['misc/jquery.js'];
// Update necessary settings
$js[$path]['version'] = 1.7;
$js[$path]['data'] = $path;
// Finally remove the original jQuery
unset($js['misc/jquery.js']);
}
एक बार जब आप ऐसा कर लेते हैं, तो डेवलपर टूल / फायरबग खोलें और आपको वे सभी बदलाव दिखाई देंगे जो आपको काम करने के लिए बाकी की साइट JS में लाने के लिए करने जा रहे हैं :)
अद्यतन करें
JQuery अद्यतन का नवीनतम संस्करण ( लेखन के समय 7.x-2.3 ) अब आपको jQuery को v1.8 में अपडेट करने की अनुमति देगा। बहुत ही शांत।
JQuery मल्टी मॉड्यूल एक और विकल्प, टिप्पणियों में उनका कहना है कि के लिए Goron करने के लिए धन्यवाद है। जैसा कि वह भी नोट करता है, इस मॉड्यूल की एक स्थिर रिलीज़ है और यह किसी भी मौजूदा जावास्क्रिप्ट को नहीं तोड़ पाएगी।
निम्नलिखित कार्यों से हुक_js_alter प्रलेखन द्वारा प्रेरित । आप इसे अपने विषय के खाके में रख सकते हैं। इसके लिए आवश्यक है कि आप Drupal core के साथ संघर्ष से बचने के लिए एक अलग व्यवस्थापक विषय का उपयोग करें, और यह मानता है कि jquery-1.8.3.min.js विषय के भीतर 'js' नामक फ़ोल्डर में स्थित है (सूट के अनुरूप)।
function [theme_machine_name]_js_alter(&$javascript) {
$javascript['misc/jquery.js']['data'] = drupal_get_path('theme', '[theme_machine_name]') .
'/js/jquery-1.8.3.min.js';
$javascript['misc/jquery.js']['version'] = '1.8.3';
}
मुझे यकीन नहीं है कि आपका उद्देश्य यहां क्या है, लेकिन जब मुझे कस्टम मॉड्यूल विकास के लिए एक विशिष्ट संस्करण की आवश्यकता थी, तो मैं jQuery.noConflict का उपयोग करके ऐसा करने में सक्षम हूं ।
यह jquery_update मॉड्यूल की तुलना में कुछ अतिरिक्त काम है (जो ओपी को मन नहीं लगता है), लेकिन इसका मतलब यह है कि आपको इस बारे में चिंता करने की ज़रूरत नहीं है कि क्या आप अपने पूरे ड्रूपल इंस्टॉलेशन को गड़बड़ाने जा रहे हैं।