আমি ড্রুপাল 7 ব্যবহার করছি, যা ডিফল্ট হিসাবে jQuery 1.4 ব্যবহার করে? আমি কীভাবে এটি সর্বশেষ সংস্করণে (বর্তমানে 1.7) আপডেট করতে পারি?
আমি ড্রুপাল 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']);
}
এটি সম্পন্ন হয়ে গেলে, বিকাশকারী সরঞ্জাম / ফায়ারব্যাগ খুলুন এবং বাকি সাইট জেএসকে কাজ করতে আপনি যে পরিবর্তনগুলি করতে হবে তা আপনি দেখতে পাবেন :)
হালনাগাদ
JQuery আপডেটের সর্বশেষতম সংস্করণ ( লেখার সময় 7.x-2.3 ) এখন আপনাকে j1 কে v1.8 এ আপডেট করার অনুমতি দেবে। খুব ঠান্ডা.
JQuery এর মাল্টি মডিউল অন্য কোনো বিকল্প, মন্তব্য ইশারা যে জন্য goron ধন্যবাদ আছে। যেমনটি তিনি নোট করেছেন, এই মডিউলটির একটি স্থিতিশীল প্রকাশ রয়েছে এবং এটি কোনও বিদ্যমান জাভাস্ক্রিপ্ট ভাঙবে না।
Hook_js_alter ডকুমেন্টেশন দ্বারা অনুপ্রাণিত , নিম্নলিখিত কাজ করে। আপনি এটি আপনার থিমের টেম্পলেট.এফপিতে রাখতে পারেন। এর জন্য আপনি ড্রুপাল কোরের সাথে বিরোধ এড়াতে একটি পৃথক অ্যাডমিন থিম ব্যবহার করা প্রয়োজন এবং এটি ধরে নিয়েছে যে 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 মডিউলটির তুলনায় কিছু অতিরিক্ত কাজ (যা ওপিকে মনে হয় না) তবে এর অর্থ এই নয় যে আপনি আপনার পুরো ড্রুপাল ইনস্টলেশনটি গণ্ডগোল করে যাচ্ছেন কিনা তা নিয়ে আপনাকে চিন্তিত হওয়ার দরকার নেই।