logo

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - नया लेआउट बिल्डर अनुभव❗

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - स्टाइलिश, कस्टमाइज़ेबल ब्लॉक टाइप्स: स्लाइडशो, टैब्स, कार्ड्स, एकॉर्डियन्स और कई अन्य। बैकग्राउंड, DOM बॉक्स, जावास्क्रिप्ट प्लगइन्स के लिए बिल्ट-इन सेटिंग्स। आज ही लेआउट बिल्डिंग का भविष्य अनुभव करें।

डेमो EBT मॉड्यूल्स EBT मॉड्यूल्स डाउनलोड करें

❗एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - नया पैराग्राफ्स अनुभव

एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - एनालॉजिकल पैराग्राफ आधारित मॉड्यूल्स का सेट।

डेमो EPT मॉड्यूल्स EPT मॉड्यूल्स डाउनलोड करें

स्क्रॉल
17/10/2025, by Ivan

Menu

पिछले लेख में, हमने Views Slideshow का उपयोग करके एक स्लाइडशो बनाया था। लेकिन अब भी हमारे पास एक बिना स्टाइल का पेजिनेटर है जिसमें छोटी तस्वीरें हैं।

इस लेख में, हम देखेंगे कि OwlCarousel को कैसे जोड़ा जाए और अतिरिक्त लाइब्रेरी का उपयोग करके CSS कैसे जोड़ी जाए।

इस उदाहरण में, हम एक कस्टम मॉड्यूल का उपयोग करेंगे ताकि OwlCarousel को जोड़ा जा सके, लेकिन अगली बार हम स्लाइडशो को थीम की फ़ाइलों में स्टाइल करेंगे।

https://drupalbook.org/sites/default/files/inline-images/drupalbook_owlcarousel.zip

स्लाइडशो बनाने के बारे में आप पिछले लेख में पढ़ सकते हैं:

3.5.5. Views Slideshow - Views के माध्यम से jQuery स्लाइडशो और कैरोसेल आउटपुट करना।

कस्टम मॉड्यूल जोड़ने के बाद हमें यह स्लाइडशो मिलेगा:

OwlCarousel

1️⃣ मॉड्यूल फ़ोल्डर बनाना

सबसे पहले हमें अपने मॉड्यूल का फ़ोल्डर बनाना है:

/modules/custom

फिर मॉड्यूल की जानकारी (information) फ़ाइल बनाएँ:

/modules/custom/drupalbook_owlcarousel/drupalbook_owlcarousel.info.yml

Drupal 8.8 और नीचे के लिए:

name: Drupalbook OwlCarousel
description: Adds styles to Views pager
type: module
core: 8.x
package: Drupalbook

Drupal 8.8+ के लिए:

name: Drupalbook OwlCarousel
description: Adds styles to Views pager
type: module
core_version_requirement: ^8 || ^9
package: Drupalbook

हम Drupal में मॉड्यूल डेवलपमेंट पर आगे विस्तार से चर्चा करेंगे, अभी हम केवल यह समझेंगे कि किसी कस्टम मॉड्यूल में लाइब्रेरी कैसे जोड़ी जाती है।

  • name — मॉड्यूल का नाम
  • description — मॉड्यूल का विवरण
  • type — यह थीम है या मॉड्यूल
  • core — Drupal कोर का संस्करण जिसके लिए मॉड्यूल बनाया गया है
  • package — यह किस पैकेज समूह से संबंधित है

2️⃣ OwlCarousel लाइब्रेरी जोड़ना

अब हमें OwlCarousel जोड़नी होगी। आप इसे यहाँ से डाउनलोड कर सकते हैं:

https://owlcarousel2.github.io/OwlCarousel2/

मैंने OwlCarousel लाइब्रेरी यहाँ रखी है:

/modules/custom/drupalbook_owlcarousel/js/owlcarousel

साथ ही, हमने एक कस्टम JavaScript फ़ाइल भी बनाई है जिसमें हम OwlCarousel को इनिशियलाइज़ करेंगे:

/modules/custom/drupalbook_owlcarousel/js/drupalbook_owlcarousel.js

(function ($) {
  Drupal.behaviors.drupalBookOwlCarousel = {
    attach: function (context, settings) {
      $('.view-slideshow #widget_pager_bottom_slideshow-block_1').owlCarousel({
        items: 5,
        margin: 5,
        nav: true,
        responsiveClass: true,
        responsive: {
          0: { items: 3 },
          600: { items: 4 },
          1000: { items: 5 }
        }
      });
      $('.view-slideshow #widget_pager_bottom_slideshow-block_1').addClass('owl-carousel');
    }
  };
})(jQuery);

OwlCarousel हमारे इमेजेज़ को घेरने वाले कंटेनर div पर लागू होती है। हमने इस div में owl-carousel क्लास भी जोड़ी है ताकि OwlCarousel के डिफ़ॉल्ट स्टाइल्स लागू हो सकें।

Responsive विकल्पों के माध्यम से हम अलग-अलग स्क्रीन आकारों के लिए स्लाइड्स की संख्या निर्धारित कर सकते हैं — जैसे:

  • 0 से 600 पिक्सेल तक — 3 आइटम
  • 600 से 1000 पिक्सेल तक — 4 आइटम
  • 1000 पिक्सेल और उससे अधिक — 5 आइटम

OwlCarousel प्लगइन अपने आप इमेज आकारों को समायोजित कर देता है।

3️⃣ कस्टम CSS जोड़ना

अब हम एक अतिरिक्त CSS फ़ाइल जोड़ते हैं ताकि स्लाइडशो के लिए कस्टम स्टाइल्स लिख सकें:

/modules/custom/drupalbook_owlcarousel/css/drupalbook_owlcarousel.css

.view-slideshow #widget_pager_bottom_slideshow-block_1 {
  max-width: 480px;
  position: relative;
}

.view-slideshow #widget_pager_bottom_slideshow-block_1 .owl-prev {
  position: absolute;
  left: 5px;
  top: 30px;
  opacity: 0.7;
  background: url(../images/little-left.png) center center no-repeat;
  width: 32px;
  padding-top: 32px;
  height: 0;
  overflow: hidden;
  display: block;
  border: 0;
}

.view-slideshow #widget_pager_bottom_slideshow-block_1 .owl-prev:hover {
  opacity: 1;
}

.view-slideshow #widget_pager_bottom_slideshow-block_1 .owl-next {
  position: absolute;
  right: 5px;
  top: 30px;
  opacity: 0.7;
  background: url(../images/little-right.png) center center no-repeat;
  width: 32px;
  padding-top: 32px;
  height: 0;
  overflow: hidden;
  display: block;
  border: 0;
}

.view-slideshow #widget_pager_bottom_slideshow-block_1 .owl-next:hover {
  opacity: 1;
}

.view-slideshow .views-slideshow-controls-bottom {
  max-width: 480px;
}

.views_slideshow_pager_field_item.active img {
  border: 1px solid #0000ff;
}

.views_slideshow_controls_text_pause {
  display: none;
}

.view-slideshow .view-content {
  position: relative;
  max-width: 480px;
}

#views_slideshow_controls_text_previous_slideshow-block_1 {
  position: absolute;
  top: 155px;
  left: 10px;
  z-index: 99;
}

#views_slideshow_controls_text_previous_slideshow-block_1 a {
  background: url(../images/left.png) center center no-repeat;
  width: 42px;
  padding-top: 42px;
  height: 0;
  overflow: hidden;
  display: block;
  border: 0;
}

#views_slideshow_controls_text_next_slideshow-block_1 {
  position: absolute;
  top: 155px;
  right: 10px;
  z-index: 99;
}

#views_slideshow_controls_text_next_slideshow-block_1 a {
  background: url(../images/right.png) center center no-repeat;
  width: 42px;
  padding-top: 42px;
  height: 0;
  overflow: hidden;
  display: block;
  border: 0;
}

4️⃣ लाइब्रेरी बनाना

अब हमें Drupal में सभी CSS और JS को लाइब्रेरी के रूप में जोड़ना होगा। इसके लिए यह फ़ाइल बनाएं:

/modules/custom/drupalbook_owlcarousel/drupalbook_owlcarousel.libraries.yml

drupalbook_owlcarousel:
  css:
    theme:
      js/owlcarousel/assets/owl.carousel.css: {}
      js/owlcarousel/assets/owl.theme.default.min.css: {}
      css/drupalbook_owlcarousel.css: {}
  js:
    js/owlcarousel/owl.carousel.min.js: {}
    js/drupalbook_owlcarousel.js: {}
  dependencies:
    - core/jquery

dependencies में jQuery जोड़ना ज़रूरी है क्योंकि OwlCarousel को इसकी आवश्यकता होती है। हमने अपनी CSS/JS फ़ाइलों को OwlCarousel की फ़ाइलों के बाद जोड़ा है ताकि उन्हें ओवरराइड किया जा सके।

5️⃣ मॉड्यूल फ़ाइल बनाना

अब हम अपनी लाइब्रेरी को सक्रिय करने के लिए यह फ़ाइल जोड़ते हैं:

/modules/custom/drupalbook_owlcarousel/drupalbook_owlcarousel.module

/**
 * hook_preprocess_views_view().
 */
function drupalbook_owlcarousel_preprocess_views_view(&$variables) {
  if ($variables['view']->storage->id() == 'slideshow') {
    $variables['#attached']['library'][] = 'drupalbook_owlcarousel/drupalbook_owlcarousel';
  }
}

यहाँ हम “slideshow” नाम की View के लिए अपनी लाइब्रेरी जोड़ रहे हैं। लाइब्रेरी का नाम दो भागों से बना है — पहले मॉड्यूल का नाम (drupalbook_owlcarousel) और फिर लाइब्रेरी का नाम जो drupalbook_owlcarousel.libraries.yml फ़ाइल में है।

अब कैश साफ़ करें (Clear cache) और आपकी स्टाइल्स और JavaScript लागू हो जानी चाहिए।

यदि आपके सेलेक्टर्स के नाम अलग हैं, तो CSS या JS को उसके अनुसार बदलें। अगर कुछ काम न करे तो टिप्पणी में लिखें — हम साथ में समाधान निकालेंगे।