ড্রুপাল 7-এ কীভাবে জকিউারি পাবেন তা নিউবিয়সের জন্য


8

আমি কীভাবে ড্রুপাল on তে কাজ করে জিকিউরিটি পেতে পারি সে সম্পর্কে অনলাইনে অনেক টিউটোরিয়াল পড়ছি code যদিও কোড এবং উদাহরণগুলির অনেকগুলি লাইন রয়েছে, তবে আমি কী খুঁজে পাচ্ছি না কোন কোডের টুকরোটি কোথায় রাখা উচিত (সম্ভবত এটি বেশিরভাগ বিকাশকারীদের পক্ষে স্পষ্ট)

তো, আমি যা করি তা হ'ল

1) আমি একটি নতুন কাস্টম ব্লক তৈরি করি

2) সেখানে ড্রুপাল ইউআই থেকে, আমি আমার কোডটি লিখি

(function ($) {

  $(document).ready(function(){

    // jquery here

  });
})(jQuery);

3) আমি ব্লকটি প্রদর্শন করি, তবে jquery লোড হয় না।

আমি পড়ছি যে আমার এই কোডটি টেমপ্লেট ফাইল, থিম ফাইল, সিএসএস ফাইল, তথ্য ফাইলগুলিতে স্থাপন করা উচিত এবং আমি কী জানি না!

কোন ফাইলটি ঠিক এবং কোন পথে সঠিকভাবে কাজ করার জন্য আমাকে উপরের কোডটি রাখতে হবে তা আমার কাছে পরিষ্কার নয়

কোন পরামর্শ?

অনেক ধন্যবাদ!

উত্তর:


11

এখানে কয়েকটি জিনিস:

  1. আপনি যদি ইউআই এর মাধ্যমে সাইটে জাভাস্ক্রিপ্ট এবং পিএইচপি প্রবেশ করা এড়াতে পারেন তবে এটি সম্ভবত আপনার সমস্যাগুলিকে লাইনের নিচে থেকে রক্ষা করবে। আপনার যদি বিকল্প নেই তবে এটি ঠিক আছে তবে এটি কারণ হিসাবে এটি দুর্দান্ত ধারণা না হওয়ার কয়েকটি কারণ এখানে রয়েছে: https://drupal.stackexchange.com/a/2512/10729 (নোট করুন যে পিএইচপি লক্ষ্য করে, জেএস নয়, বেশিরভাগ অংশে পয়েন্টগুলি এখনও জেএসের জন্য দাঁড়িয়ে আছে)। উদাহরণ মডিউল কাস্টম ব্লক তৈরি একটি উদাহরণ রয়েছে।
  2. জেএস সংযুক্ত করার জন্য, আপনি যদি সমস্ত পৃষ্ঠায় এটি চান তবে আপনি এটি আপনার থিমের তথ্য ফাইলে যুক্ত করতে পারেন। আপনি যদি এটি কেবল কয়েকটি জায়গায় চান তবে, drupal_add_js () ব্যবহার করা সবচেয়ে ভাল তাই এটি কেবল এটির পৃষ্ঠাগুলিতেই এটি হওয়া দরকার। ফর্মগুলিতে js আচরণ সংযুক্ত করার জন্য আপনি নিজের ফর্ম আইটেমগুলিতে # সংযুক্তিযুক্ত বৈশিষ্ট্যও ব্যবহার করতে পারেন ।
  3. আপনি যদি $ (ডকুমেন্ট) .ডিডি () ব্যবহার করেন তবে পৃষ্ঠাটি লোড হয়ে গেলে এটি আপনার জাভাস্ক্রিপ্টটিকে আগুন ধরিয়ে দেবে, তবে পৃষ্ঠাটি যদি আজাক্সের মাধ্যমে আপডেট করা হয় তবে আপনার জাভাস্ক্রিপ্টটি আবার জ্বলবে না, সুতরাং আপনার জাভাস্ক্রিপ্ট যে কোনও কারণে নতুন মার্কআপ প্রভাবিত হবে না হয়। এই কেসগুলি পরিচালনা করতে আপনার ডকুমেন্ট প্রস্তুতের পরিবর্তে ড্রুপাল আচরণ ব্যবহার করা উচিত ।

উদাহরণ স্বরূপ:

(function ($) {
  Drupal.behaviors.yourBehaviorName = {
    attach: function (context, settings) {
      // Do your thing here.
    }
  };
})(jQuery);

আমি এই পৃষ্ঠাগুলি পড়ার পরামর্শ দিচ্ছি:
ড্রুপাল 7 এ জাভাস্ক্রিপ্ট পরিচালনা
করা জাভাস্ক্রিপ্ট এবং jQuery এর সাথে কাজ করা


7

আপনার .js এ এই কোডের মতো সন্নিবেশ করান;

(function ($) {  

  Drupal.behaviors.themename = {

    attach: function (context, settings) {            

     // All our js code here
     alert('Hello jQuery');
     // end our js code

   }

 };})(jQuery);

আপনার থিম টেমপ্লেট.এফপিতে হূক_প্রিপ্রসেস_এইচটিএমএল তৈরি করুন তারপরে ড্রুপাল_এডিডি_জেএস ব্যবহার করুন

function themename_preprocess_html(&$variables) {
  drupal_add_js(drupal_get_path('theme', 'themename') . '/js/your.js', array( 
    'scope' => 'footer', 
    'weight' => '15' 
  ));
}

শুধু থিম পরিবর্তন


1
নোট করুন যে এটি প্রতিটি পৃষ্ঠায় জাভাস্ক্রিপ্ট যুক্ত করবে, যা পছন্দসই বা নাও হতে পারে।
রোবি

1
হ্যাঁ হ্যাঁ এটি প্রতিটি পৃষ্ঠায় জাভাস্ক্রিপ্ট যুক্ত করবে। কেবল @ এপিডিআর এটি চেষ্টা করুন এবং তাঁর জ্ঞান দিয়ে পরীক্ষা করুন
শিবিরু

2
আপনি যদি থিমের মাধ্যমে প্রতিটি পৃষ্ঠায় জেএসটি বোঝাতে চান, তবে থিমের .info ফাইলটিতে কেবল ফাইলটি তালিকাভুক্ত করার পক্ষে কি আরও বোঝা যায় না?
জিমাজাম্মা

3

আপনার .js ফাইলটি দেখতে এমন হওয়া উচিত:

(function ($) {
    Drupal.behaviors.cdgi = {
        attach: function(context) {

        //your code

        }
    }
}(jQuery));

এই ফাইলটিকে দ্রুপালে যুক্ত করতে আপনার মডিউলটিতে drupal_add_js () ব্যবহার করুন। এখানে এবং এখানে ভাল রেফারেন্স ।

প্রায়ই পরিষ্কার ক্যাশে;)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.