कैसे Drupal 7 पर काम करने के लिए jquery प्राप्त करें - Newbies के लिए


8

मैं कई ट्यूटोरियल पढ़ रहा हूं कि कैसे ड्रुपल पर काम करने के लिए jquery प्राप्त की जाती है। 7. हालांकि कोड और उदाहरणों की कई लाइनें हैं, जो मुझे नहीं मिल रहा है कि कोड का टुकड़ा कहाँ रखा जाए (शायद यह अधिकांश डेवलपर्स के लिए स्पष्ट है)

तो, मैं क्या करता हूं

1) मैं एक नया कस्टम ब्लॉक बनाता हूं

2) ड्रूपल यूआई से अधिक, मैं अपना कोड लिखता हूं

(function ($) {

  $(document).ready(function(){

    // jquery here

  });
})(jQuery);

3) मैं ब्लॉक प्रदर्शित करता हूं, लेकिन jquery लोड नहीं किया गया है।

मैं पढ़ रहा हूं कि मुझे इस कोड को टेम्पलेट फ़ाइलों, थीम फ़ाइलों, सीएसएस फ़ाइलों, जानकारी फ़ाइलों में डालना चाहिए और मुझे पता नहीं है कि क्या है!

यह मेरे लिए स्पष्ट नहीं है कि मुझे किस फ़ाइल में और किस मार्ग में मुझे ठीक से काम करने के लिए उपरोक्त कोड डालना है?

कोई सलाह?

बहुत धन्यवाद!

जवाबों:


11

यहाँ कुछ बातें:

  1. यदि आप UI के माध्यम से जावास्क्रिप्ट और PHP को साइट में दर्ज करने से बच सकते हैं तो यह संभवतः आपको लाइन में आने वाली परेशानियों से बचाएगा। यदि आपके पास कोई विकल्प नहीं है तो यह ठीक है, लेकिन यहां कुछ कारण हैं कि यह एक महान विचार क्यों नहीं है: https://drupal.stackexchange.com/a/2512/10729 (ध्यान दें कि PHP के उद्देश्य से है, js नहीं बल्कि अधिकांश अंक अभी भी js के लिए खड़े हैं)। उदाहरण मॉड्यूल कस्टम ब्लॉक बनाने का एक उदाहरण है।
  2. Js अटैच करने के लिए, यदि आप इसे सभी पृष्ठों पर चाहते हैं, तो आप इसे अपने विषय की जानकारी फ़ाइल में जोड़ सकते हैं। यदि आप इसे केवल कुछ जगहों पर चाहते हैं, तो ड्रुपल_डड_ज () का उपयोग करना सबसे अच्छा है, इसलिए यह केवल उन पृष्ठों पर है जो इसे होना चाहिए। प्रपत्रों में js व्यवहार संलग्न करने के लिए आप अपने फॉर्म आइटमों पर #attached विशेषता का उपयोग कर सकते हैं ।
  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);

अपने थीम टेम्पलेट में। हुक बनाने के लिए फिर drupal_add_js का उपयोग करके हुक_परप्रोसेस_एचटीएमएल बनाएं

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

बस थीम बदल देते हैं


1
ध्यान दें कि यह हर पृष्ठ पर जावास्क्रिप्ट जोड़ देगा, जो वांछनीय हो सकता है या नहीं।
रॉबी

1
Hehe हाँ यह जावास्क्रिप्ट को हर पेज में जोड़ेगा। बस @ डाड्रा कोशिश करें और अपने ज्ञान के साथ परीक्षण करें
सिबिरू

2
अगर आप चाहते हैं कि विषय के माध्यम से हर पृष्ठ पर js लोड हो, तो विषय की -info फ़ाइल में फ़ाइल को सूचीबद्ध करने के लिए अधिक समझ नहीं होगी?
जिमजम्मा

3

आपकी .js फ़ाइल इस तरह दिखनी चाहिए:

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

        //your code

        }
    }
}(jQuery));

Drupal में इस फ़ाइल को जोड़ने के लिए अपने मॉड्यूल में drupal_add_js () का उपयोग करें । यहाँ और यहाँ अच्छे संदर्भ ।

स्पष्ट कैश अक्सर;)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.