logo

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

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

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

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

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

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

स्क्रॉल

Drupal पर मॉड्यूल बनाना — त्वरित प्रारंभ

14/10/2025, by Ivan

आइए api.drupal.org से शुरू करें। उस पेज को खोलें जहाँ hook_node_presave() हुक का वर्णन है — यह हुक किसी नोड को जोड़ने से पहले सक्रिय होता है।

http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_validate/7

हुक्स हमें Drupal की प्रक्रिया में अपना कोड सम्मिलित करने की अनुमति देते हैं — उदाहरण के लिए, हम इनसे डेटा की वैधता जाँच सकते हैं, फ़ील्ड जोड़ सकते हैं, फॉर्म तत्व बना सकते हैं आदि।

अब हम अपना मॉड्यूल sites/all/modules फ़ोल्डर में जोड़ते हैं:

sites/all/modules/custom/

sites/all/modules/custom/custom.info

sites/all/modules/custom/custom.module

custom.info फ़ाइल में निम्नलिखित लिखें:

name = Custom
description = Custom
core = 7.x

custom.module फ़ाइल में हम यह जाँच करेंगे कि कंटेंट के बॉडी फ़ील्ड में कुछ न कुछ लिखा गया है या नहीं। यदि फ़ील्ड खाली है, तो हम एक त्रुटि संदेश दिखाएँगे (हालाँकि Drupal की एडमिन पैनल में इसे आवश्यक फ़ील्ड के रूप में भी सेट किया जा सकता है, लेकिन यहाँ हम इसे प्रोग्रामmatically करेंगे):

custom.module

<?php

function custom_node_validate($node){
  if(empty($node->body['und'][0]['value'])){
    form_set_error('node-body', 'Body is empty'); // त्रुटि संदेश दिखाएँ और नोड को सहेजने से रोकें
  }
}

हमारे मामले में, साइट पर केवल एक ही भाषा उपयोग की जा रही है — und (undefined, यानी "अनिर्धारित")। इसलिए हम बॉडी फ़ील्ड के पहले textarea की जाँच कर रहे हैं (क्योंकि किसी फ़ील्ड के लिए कई टेक्स्ट क्षेत्र जोड़े जा सकते हैं)।

आप devel मॉड्यूल और उसकी dsm() फ़ंक्शन का उपयोग कर सकते हैं ताकि आवश्यक ऑब्जेक्ट या ऐरे की सामग्री को स्क्रीन पर प्रदर्शित किया जा सके:

<?php

function custom_node_view($node){
  dsm($node);
}