উত্তর:
ড্রুপাল 7 দ্বারা ব্যবহৃত জাভাস্ক্রিপ্ট কোডটি নিম্নলিখিত:
Drupal.attachBehaviors = function (context, settings) {
context = context || document;
settings = settings || Drupal.settings;
// Execute all of them.
$.each(Drupal.behaviors, function () {
if ($.isFunction(this.attach)) {
this.attach(context, settings);
}
});
};
ড্রুপাল 6 অনুরূপ কোড ব্যবহার করে:
Drupal.attachBehaviors = function(context) {
context = context || document;
if (Drupal.jsEnabled) {
// Execute all of them.
jQuery.each(Drupal.behaviors, function() {
this(context);
});
}
};
যদি জাভাস্ক্রিপ্ট গ্যারান্টি দেয় যে অবজেক্ট / অ্যারে বৈশিষ্ট্যগুলি সর্বদা তারা যুক্ত করা একই ক্রমে বিভ্রান্ত হয় তবে মানগুলি jQuery.each()
দ্বিতীয় প্যারামিটার হিসাবে ব্যবহৃত ক্রিয়ায় একই পংক্তিতে প্রথম পরামিতি হিসাবে পাস করা অ্যারেতে প্রবেশ করা হবে।
এর অর্থ Drupal.behaviors
হ'ল inোকানো প্রথম আচরণটি প্রথমে কার্যকর করা হয়।
এই ক্ষেত্রে, আপনার মডিউল দ্বারা সংজ্ঞায়িত আচরণগুলি প্রথমে কার্যকর করার অনুমতি দেওয়ার জন্য আপনি এর জন্য হালকা ওজন ব্যবহার করতে পারেন। আপনি যদি চান যে এগুলি অন্যদের আগে কার্যকর করা হয়, মডিউল ওজন -50 নির্ধারণ করা উচিত; অন্যান্য মানগুলিও কাজ করতে পারে। আপনি যদি ড্রুপাল 7 ব্যবহার করে থাকেন তবে, দ্রুপাল_এডিডি_জেএস ()জাভাস্ক্রিপ্ট কোডের সাথে একটি ওজন যুক্ত করতে দেয়; একটি হালকা ওজনযুক্ত জাভাস্ক্রিপ্ট কোডটি HTML আউটপুটটিতে প্রথম উপস্থিত হয়। ভেবেছিল দ্রুপাল 6 দিয়ে এটি সম্ভব নয়।
জাভাস্ক্রিপ্ট গ্যারান্টি দেয় না যে বৈশিষ্ট্যগুলি যুক্ত করা হয় একই ক্রিয়াকলাপে ট্র্যাশ করা হয়েছে। এর অর্থ হ'ল বিভিন্ন জাভাস্ক্রিপ্ট বাস্তবায়নগুলি একটি ভিন্ন ক্রম ব্যবহার করে একই বৈশিষ্ট্যগুলি উপস্থাপন করবে; এর অর্থ হ'ল একই ক্রম একই ব্রাউজারের বিভিন্ন সংস্করণে পরিবর্তিত হতে পারে।
select name, weight from system where type = 'module' order by weight ASC, name
Drupal.behaviors
; আমি যেমন প্রতিবেদন করেছি $.each(Drupal.behaviors)
তেমনি বস্তুগুলি তাদের একই শৃঙ্খলায় listsোকানো হয়েছে যাতে তাদের সনাক্তকারীকে ভিত্তি করে নয়।
আচরণ ওজন মডিউলটি ব্যবহার করুন ।
(আপনি এটি কোনও প্রোডাকশন সাইটে ব্যবহার করার আগে দয়া করে এটিকে কিছু পরীক্ষা দিন)
মডিউলটি আচরণগুলির সাথে ওজনগুলিকে সংযুক্ত করতে দেয় এবং তারপরে এটি হাইজ্যাক করে / প্রতিস্থাপন drupal.attachBehaviors
করে একটি কাস্টম বাস্তবায়ন করে, যা ওজনকে সম্মান করে।
পরিবর্তে মডিউল ওজন কেন না, অন্য উত্তরে পরামর্শ দেওয়া হয়েছে?
দেখুন
কোনও জাভাস্ক্রিপ্ট অবজেক্টের ক্ষেত্রগুলির ক্রমটি যখন লুপিংয়ের মাধ্যমে পূর্বাভাসযোগ্য? এবং
উপাদানসমূহ ক্রম - জাভাস্ক্রিপ্টে (… ইন…) লুপের জন্য ।
ড্রুপাল 6 এর জন্য -
একটি সহজ সমাধান, যদি এটি পোর্টেবল হওয়ার প্রয়োজন না হয় তবে আপনি যে থিম টেমপ্লেট.এফপি ফাইলটিতে সর্বশেষে চালাতে চান সেই জেএস স্থাপন করা। থিম ড্রুপাল_এডিডি_জেএস কলগুলি সবসময় মডিউলগুলির পরে কল করা হয়।
যদি এটি দ্রূপাল 6 এর "ক্লিনস্ট" সমাধানটি পোর্টেবল হওয়ার দরকার হয় তবে একটি নতুন মডিউল যুক্ত করা যা পিএইচপি সহ আপনার মডিউলের চেয়ে আলাদা ওজন ধারণ করে। এমনকি আপনার একই ফোল্ডারে দুটি মডিউল থাকতে পারে, প্রথমটির উপর নির্ভর করে প্রথম মডিউল তৈরি করতে পারে এবং ইনস্টল / আপডেট হুকের ওজন সামঞ্জস্য করতে পারে। যার কোনটিই প্রয়োজনীয় নয়, কেবল ইনস্টলেশনটিকে সহজ করে তোলে।