logo

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

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

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

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

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

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

स्क्रॉल

1.6. उत्पाद और श्रेणियाँ - डेटाबेस तालिकाएँ बनाना

07/10/2025, by Ivan

उत्पादों और श्रेणियों की कार्यक्षमता बनाने से पहले, आइए सोचें कि हमारे ग्राहकों और साइट प्रशासकों को कौन सी जानकारी की आवश्यकता होगी। उत्पाद के बारे में पर्याप्त जानकारी प्रदान करना आवश्यक है — हमें उत्पाद का नाम, उसका विस्तृत विवरण और उसकी कीमत दिखानी चाहिए। हम उत्पाद की मुख्य तस्वीर और अतिरिक्त छवियाँ भी जोड़ सकते हैं। डिलीवरी की लागत की गणना के लिए उत्पाद का वजन भी आवश्यक हो सकता है। हमें स्टॉक में वस्तुओं की मात्रा भी चाहिए ताकि ऐसी वस्तु न बेची जाए जो उपलब्ध नहीं है। साइट के प्रशासक के लिए उत्पाद ID और खोज इंजनों के लिए एक पठनीय URL की आवश्यकता होगी।

अंततः, हमारे पास कम से कम निम्नलिखित फ़ील्ड होने चाहिए:

डेटा विवरण
ID साइट की आंतरिक कार्यप्रणाली के लिए उत्पाद संख्या
Name उत्पाद का नाम
Slug (ЧПУ) मुख्य रूप से खोज इंजनों के लिए आवश्यक
Description उत्पाद का विस्तृत विवरण
SKU उपयोगकर्ताओं के लिए उत्पाद कोड
Price उत्पाद की कीमत
Stock स्टॉक में उत्पाद की मात्रा
Primary image मुख्य छवि
Additional images अतिरिक्त छवियाँ

आगामी लेखों में हम इस सूची का विस्तार करेंगे, लेकिन अभी के लिए यह पर्याप्त है।

उत्पाद श्रेणियों के अपने फ़ील्ड होते हैं:

डेटा विवरण
ID साइट की आंतरिक कार्यप्रणाली के लिए श्रेणी संख्या
Name श्रेणी का नाम
Description श्रेणी का विवरण
Slug (ЧПУ) खोज इंजनों के लिए पठनीय URL

हम डेटा संरचना और हमारे फ्रेमवर्क की सहायता से उत्पादों और श्रेणियों को प्रदर्शित करने की कार्यक्षमता को अभी बना सकते थे, लेकिन यदि हम ऐसा करते, तो हम संभावित लचीलापन खो देते। अधिकांश सामग्री में सामान्य जानकारी होती है। यदि हम उस सामान्य जानकारी की पहचान करें और एक अमूर्त सामग्री प्रकार बनाएं, तो हमारा फ्रेमवर्क अधिक लचीला होगा। हम विभिन्न प्रकार की सामग्री के लिए एक ही कार्यक्षमता का उपयोग कर सकते हैं बिना कोड को दोहराए। ऐसी कार्यक्षमताओं में शामिल हो सकते हैं:

  • सामग्री का संस्करण नियंत्रण
  • प्रवेश अधिकारों का विभाजन
  • सामग्री, पृष्ठों और उत्पादों पर टिप्पणियाँ
  • पृष्ठों और उत्पादों के लिए रेटिंग

पृष्ठ (Pages)

पृष्ठ हमारे साइट के स्थिर अनुभाग होंगे — जैसे संपर्क जानकारी, डिलीवरी और भुगतान जानकारी आदि। इन पृष्ठों के डेटा इस प्रकार होंगे:
डेटा विवरण
Имя पृष्ठ का नाम
ЧПУ पृष्ठ का URL
ID पृष्ठ की आंतरिक संख्या
Heading h1 टैग की सामग्री
Title <title> टैग की सामग्री
Content पृष्ठ की सामग्री
Keywords मेटा कीवर्ड टैग की सामग्री
Description मेटा विवरण टैग की सामग्री

Content

पृष्ठ हमारी मुख्य सामग्री प्रकार हैं, जिन्हें हम भविष्य में अतिरिक्त फ़ील्ड्स जोड़कर विस्तारित करेंगे। श्रेणी पृष्ठ भी ऐसे ही पृष्ठ होंगे, बस उनमें उत्पादों से संबंधित अतिरिक्त फ़ील्ड्स होंगी।
डेटा विवरण
ID आंतरिक कार्यप्रणाली के लिए नंबर
Name सामग्री का नाम
ЧПУ पठनीय URL
Content सामग्री पृष्ठ की सामग्री
Type सामग्री का प्रकार (उदाहरण: page, product, category)
Order सामग्री का क्रम, जैसे मेनू आइटम के लिए
Parent अभिभावक सामग्री, जैसे उप-श्रेणियों या पृष्ठ कैटलॉग के लिए
Meta keywords कुंजीशब्द
Meta description मेटा विवरण
Date created निर्माण की तिथि
Creator सामग्री का लेखक
Active क्या सामग्री उपयोगकर्ताओं को दिखाई जाएगी या नहीं
Secure प्रवेश नियंत्रण के लिए फ़ील्ड (केवल पंजीकृत उपयोगकर्ताओं के लिए)

Revisions

Drupal की तरह, हमारे पास भी एक संशोधन प्रणाली (revision system) होगी।
डेटा विवरण
ID सामग्री की आंतरिक संख्या
Current revision वर्तमान संशोधन संख्या
अब जब हमने अपने सामग्री प्रकारों की योजना बना ली है, तो हम अपनी डेटाबेस बनाना शुरू कर सकते हैं। प्रत्येक प्रकार के लिए एक अलग तालिका बनाई जाएगी। अंततः हमारे पास निम्न तालिकाएँ होंगी:
तालिका विवरण
Content सक्रिय संस्करणों को ऐसी जानकारी से जोड़ने के लिए जो संशोधनों में नहीं बदलती, जैसे कि लेखक।
Versions सामग्री के प्रत्येक संस्करण के डेटा को संग्रहीत करने के लिए
Content types फ्रेमवर्क में विभिन्न सामग्री प्रकारों को रिकॉर्ड करने और सामग्री को उनसे जोड़ने के लिए
Products उत्पाद डेटा का विस्तार करने के लिए
Revision history संशोधन इतिहास को संग्रहीत करने के लिए

Content

साइट की सभी सामग्री इस तालिका में संग्रहीत होगी। यदि हमें किसी सामग्री प्रकार को विस्तारित करना है, तो हम एक नई तालिका बनाएंगे। उदाहरण के लिए, उत्पादों को Content तालिका में संग्रहीत किया जाएगा, लेकिन वे Products तालिका से ID के माध्यम से जुड़े होंगे।
फ़ील्ड प्रकार विवरण
ID Integer (auto increment) अन्य तालिकाओं से लिंक करने के लिए
Current_revision Integer संशोधन तालिका से संबंध
Active Boolean सामग्री प्रकाशित है या नहीं
Secure Boolean केवल लॉग इन उपयोगकर्ताओं के लिए सामग्री उपलब्ध है या नहीं
Parent Integer मुख्य सामग्री से लिंक
Order Integer सामग्री क्रमबद्ध करने के लिए
Author Integer सामग्री बनाने वाले उपयोगकर्ता का ID
Type Integer सामग्री प्रकार का ID
Path Varchar Slug या ЧПУ को संग्रहीत करने के लिए
अब हम डेटाबेस में क्वेरी चलाकर Content तालिका बना सकते हैं:
CREATE TABLE `content` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `current_revision` int(11) NOT NULL,
  `active` tinyint(1) NOT NULL,
  `secure` tinyint(1) NOT NULL,
  `parent` int(11) NOT NULL,
  `order` int(11) NOT NULL,
  `author` int(11) NOT NULL,
  `type` int(11) NOT NULL,
  `path` char(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;