logo

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

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

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

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

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

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

स्क्रॉल

Drupal WebForm मॉड्यूल — उत्पाद ऑर्डर फ़ॉर्म बनाना

14/10/2025, by Ivan

आइए उस उत्पाद कैटलॉग पर वापस लौटें, जिसे हमने पिछले पाठों में बनाया था। कैटलॉग अब सफलतापूर्वक भरा जा रहा है और उत्पाद सूचीबद्ध रूप से प्रदर्शित हो रहे हैं, लेकिन ऑर्डर देने के लिए संपर्क फ़ॉर्म का उपयोग करना काफी असुविधाजनक है — उपयोगकर्ता को उत्पाद का नाम और कोड कॉपी करके फ़ॉर्म में पेस्ट करना पड़ता है और फिर संदेश लिखना पड़ता है। आइए इस प्रक्रिया को सरल बनाने के लिए एक विशेष ऑर्डर फ़ॉर्म बनाते हैं। इसके लिए हमें Webform मॉड्यूल की आवश्यकता होगी, जो Drupal में फ़ॉर्म बनाने के लिए उपयोग किया जाता है। इस फ़ॉर्म के माध्यम से हम उत्पाद का नाम और उसकी मात्रा भेजेंगे। यदि आपको उत्पाद कोड की भी आवश्यकता है, तो आप उसी सिद्धांत से उसे भी शामिल कर सकते हैं।

Webform मॉड्यूल डाउनलोड करें और इंस्टॉल करें।

इंस्टॉलेशन के बाद, एक नया कंटेंट टाइप Webform दिखाई देगा। एक नया सामग्री प्रकार (content type) Webform बनाएं और उसका नाम रखें उत्पाद ऑर्डर फ़ॉर्म (या कोई अन्य नाम जो आपको सुविधाजनक लगे)। निर्माण के बाद, आप वेबफॉर्म सामग्री की सेटिंग पृष्ठ पर पुनर्निर्देशित हो जाएंगे।

हमें दो फ़ील्ड बनाने की आवश्यकता है — एक उत्पाद के नाम के लिए और दूसरा मात्रा (quantity) के लिए। इसके लिए दो textfield फ़ील्ड बनाएं।

उत्पाद के नाम वाले फ़ील्ड में यह मान दर्ज करें: %get[product]

Drupal webform

मात्रा (quantity) फ़ील्ड का डिफ़ॉल्ट मान “1” रखें।

इसके अलावा, ईमेल के लिए एक textfield और ग्राहकों की टिप्पणियों या पसंदों के लिए एक textarea जोड़ें।

%get[product] उसी तरह काम करता है जैसे PHP वेरिएबल $_GET['product'], जो URL से मान प्राप्त करता है।

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

इसके लिए हमें अंतर्निहित PHP filter मॉड्यूल सक्षम करना होगा, जो हमें सीधे किसी ब्लॉक या सामग्री में PHP कोड जोड़ने की अनुमति देता है। इस मॉड्यूल को सक्षम करने के बाद, एक नया इनपुट फॉर्मेट “PHP code” दिखाई देगा।

अब एक नया ब्लॉक बनाएं और इनपुट फॉर्मेट के रूप में “PHP code” चुनें। ब्लॉक की सामग्री में नीचे दिया गया कोड डालें:

<a href="<?php print base_path(); ?>node/6?product=<?php print drupal_get_title(); ?>">उत्पाद ऑर्डर करें</a>

यहाँ node/6 आपके उत्पाद ऑर्डर वेबफॉर्म का नोड पता है।

drupal_get_title() फ़ंक्शन वर्तमान नोड का शीर्षक लौटाता है, जो हमारे मामले में उत्पाद का नाम है, और base_path() फ़ंक्शन वेबसाइट की रूट डायरेक्टरी का पथ लौटाता है (उदाहरण: drupalbook.org/)।

अब इस ब्लॉक को “Content” क्षेत्र में रखें और इसकी दृश्यता (visibility) को PHP मोड में इस प्रकार सेट करें:

$types['tovar'] = 1;
$match = false;
if ((arg(0) == 'node') && is_numeric(arg(1))) {
  $node = node_load(arg(1)); 
  $match = isset($types[$node->type]); 
}
return $match;

यहाँ tovar आपके “उत्पाद” (Product) कंटेंट टाइप का मशीन नाम है।

इस प्रकार हमारा उत्पाद ऑर्डर फ़ॉर्म सफलतापूर्वक तैयार हो गया।