इंटरनेट स्टोर में क्या होना चाहिए
1. उत्पाद श्रेणियाँ (Categories of Goods)
सबसे पहले यह सोचें कि आपके पास कौन-कौन सी उत्पाद श्रेणियाँ होंगी, क्योंकि यही आपकी वेबसाइट की संरचना तय करती है। क्या आपको श्रेणी पृष्ठों के साथ एक पूर्ण कैटलॉग चाहिए या केवल कुछ मुख्य श्रेणियाँ बिना उपश्रेणियों के? यह ध्यान रखें कि एक श्रेणी में 200 से अधिक उत्पाद न हों। यदि अधिक हों, तो उपश्रेणियाँ बनाएं ताकि उपयोगकर्ता आवश्यक वस्तु जल्दी ढूंढ सकें। अगर आप उपश्रेणियाँ नहीं बनाना चाहते, लेकिन उत्पाद बहुत अधिक हैं — तो बेहतर होगा कि आप **फ़िल्टरिंग सिस्टम** (देखें बिंदु “Н”) जोड़ें।
सामाजिक नेटवर्क (Social Networks)
सामाजिक नेटवर्क आज एक उत्कृष्ट संचार और लोगों को एकजुट करने का साधन बन गए हैं और उनकी लोकप्रियता तेजी से बढ़ रही है। इनकी मदद से उपयोगकर्ता न केवल अपने पुराने दोस्तों को ढूंढ सकते हैं, बल्कि नए मित्र भी बना सकते हैं।
सामाजिक नेटवर्क बनाना — एक आसान कार्य नहीं है। लेकिन CMS Drupal की मदद से आप बड़े पैमाने के, उच्च ट्रैफिक वाले प्रोजेक्ट्स बना सकते हैं। Drupal भारी लोड संभालने में सक्षम है और आपकी सामाजिक नेटवर्क परियोजना के विकास में कोई सीमा नहीं रखता। मेरे कार्यों में से एक प्रमुख दिशा सामाजिक नेटवर्क बनाना है।
ऑनलाइन नीलामी (Internet Auctions)
मेरा मुख्य उद्देश्य एक ऑनलाइन नीलामी या इलेक्ट्रॉनिक ट्रेडिंग प्लेटफ़ॉर्म बनाना है। यह मेरा काम, मेरा शौक, मेरा व्यवसाय और मेरा जीवनशैली है — और यह वह काम है जिसे मैं सच में पसंद करता हूँ। मैं ऑनलाइन मार्केटप्लेस, एक्सचेंज और इंटरनेट नीलामियाँ आनंदपूर्वक और उत्कृष्टता के जुनून (और कुछ हद तक फैनैटिक जोश) के साथ बनाता हूँ। Drupal के लिए पहले से एक तैयार समाधान मौजूद है — नीलामी मॉड्यूल — और मैं उसे आपकी ज़रूरतों के अनुसार आसानी से अनुकूलित कर सकता हूँ।
संयुक्त खरीदारी वेबसाइट
(СП) संयुक्त खरीदारी — यह एक शब्द है जो उस स्थिति को दर्शाता है जब आयोजक (Organizer) फोरम के प्रतिभागियों (Participants) को किसी वस्तु की सामूहिक थोक खरीद के लिए आमंत्रित करता है, जिसमें आयोजक द्वारा वितरण, भुगतान और संगठन से जुड़ी लागतों को कवर करने के लिए एक छोटी-सी अतिरिक्त राशि (मार्कअप) शामिल होती है। दूसरे शब्दों में — यह एक संगठित तरीका है जिससे थोक कीमतों पर सामूहिक रूप से वस्तुएं खरीदी जाती हैं।
स्निपेट्स (snippets)
स्निपेट्स — यह छोटे कोड अंश (code fragments) होते हैं।
वे इतनी छोटी नहीं होतीं कि केवल एक वेरिएबल हों, लेकिन इतनी बड़ी भी नहीं कि उन्हें एक अलग मॉड्यूल में डालना पड़े।
PHP कोड की मदद से हम टेम्पलेट में सीधे डेटा प्रदर्शित कर सकते हैं, डेटाबेस (DB) से जानकारी प्राप्त कर सकते हैं, या किसी ब्लॉक में अपनी पसंद का class या id जोड़ सकते हैं।
कभी-कभी किसी जटिल मॉड्यूल की बजाय एक साधारण स्निपेट का उपयोग करना कहीं आसान होता है।
ऐसे मामलों की संख्या बहुत अधिक है, और Drupal की आधिकारिक डाक्यूमेंटेशन में इन स्निपेट्स के बहुत से उदाहरण दिए गए हैं:
Views: जब फ़ील्ड में एक से अधिक मान होते हैं, तब नोड्स के डुप्लिकेट्स कैसे हटाएँ
हाल ही में मैंने Views के माध्यम से कंपनियों की एक सूची प्रदर्शित की, लेकिन किसी कारणवश Views प्रत्येक कंपनी को 1 से 3 बार दोहरा रहा था — जो कि काफी अजीब था। मैंने फिल्टर और सॉर्टिंग हटाकर भी देखा, लेकिन फिर भी डुप्लिकेट दिखाई देते रहे। समस्या यह थी कि इन नोड्स में तिथि (date) फ़ील्ड एक बहु-मूल्य (multiple values) वाला फ़ील्ड था, और इसी कारण Views परिणामों में नोड्स को दोहरा रहा था। नीचे मेरे (और शायद आपके) Views में डुप्लिकेशन की समस्या का समाधान दिया गया है:
htaccess में त्रुटियों का प्रदर्शन बंद करना (htaccess display errors off)
पेज पर PHP त्रुटियों (errors) को दिखाने से रोकने के लिए, अपने .htaccess फ़ाइल में निम्न कोड जोड़ें:
# PHP त्रुटियों को छुपाएँ php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off php_value docref_root 0 php_value docref_ext 0
किसी भी टेम्पलेट में ब्लॉक सम्मिलित करना (drupal insert block into template)
Drupal 8
Twig टेम्पलेट में PHP कोड को सीधे कॉल नहीं किया जा सकता, इसलिए हमें पहले से तैयार ब्लॉक को टेम्पलेट में पास करना होता है। अगर आप किसी नोड टेम्पलेट (node template) में ब्लॉक दिखाना चाहते हैं, तो आप थीम में themename_preprocess_node() फ़ंक्शन का उपयोग कर सकते हैं। यदि आप ब्लॉक को पेज टेम्पलेट में जोड़ना चाहते हैं, तो इसके लिए themename_preprocess_page() का उपयोग करें। इस फ़ंक्शन में वेरिएबल पास करें और फिर Twig टेम्पलेट में उसे प्रदर्शित करें।
छवि प्रीसेट्स का प्रोग्रामेटिक उपयोग (programmatically use imagecache)
Drupal 6 की तुलना में, जहाँ हम imagecache मॉड्यूल का उपयोग करते थे, Drupal 7 में Image API थोड़ा बदल गया है। Drupal 6 में हम प्रीसेट (preset) को प्रोग्रामmatically इस तरह उपयोग कर सकते थे:
<?php print theme('imagecache', 'my_preset', $file_path, $alt, $title, $attributes); ?>
उदाहरण के लिए:
विशिष्ट प्रकार की सामग्री वाले पृष्ठों पर ब्लॉक दिखाना
कभी-कभी हमें ब्लॉक केवल किसी विशेष प्रकार की सामग्री (content type) वाले पृष्ठों पर दिखाने की आवश्यकता होती है। मानक (standard) सेटिंग्स में ब्लॉक की दृश्यता (visibility) केवल पथ (path) या उपयोगकर्ता भूमिकाओं (user roles) के आधार पर निर्धारित की जाती है। निम्नलिखित कोड, जिसे ब्लॉक की दृश्यता सेटिंग्स में PHP मोड चालू होने पर डाला जाता है, आपको यह चुनने की अनुमति देता है कि ब्लॉक किस कंटेंट टाइप के पृष्ठों पर दिखाया जाएगा: