जब आपके पास मॉड्यूल हो तो थीम का उपयोग क्यों करें?


9

मेरे कस्टम मॉड्यूल के अंदर मैंने फ़ाइल जोड़ी है

Vendor/Theme/view/layout/default.xml

जो मैं कस्टम मॉड्यूल से टेम्पलेट्स / ब्लॉक / लेआउट के साथ साइट की वैश्विक गति को ओवरराइड करने के लिए उपयोग कर रहा हूं। मैं अपनी खुद की वैश्विक स्टाइल भी संलग्न कर रहा हूं view/webजो उस मॉड्यूल में निर्देशिका में मौजूद है ।

क्या मुझे इसके बजाय एक विषय का उपयोग करना चाहिए? क्या एक डिजाइन पैटर्न के लिए दूसरे पर अच्छा तर्क है? उदाहरण के लिए। का उपयोग कर app/designसे अधिक app/code?

जवाबों:


13

आप कुछ भी कर सकते हैं आप कल्पना कर सकते हैं, लेकिन अगर यह सही बात है तो यहां सवाल है।

मॉड्यूल

मॉड्यूल को webshop की कार्यक्षमता को जोड़ना या बदलना चाहिए और अन्य Magento 2 webshops पर स्थानांतरित किया जाना चाहिए। मॉड्यूल के अपने लेआउट, टेम्प्लेट और स्टाइल हो सकते हैं और सामान्य लेआउट, टेम्प्लेट और स्टाइलिंग को बदल सकते हैं यदि आपके मॉड्यूल की कार्यक्षमता के लिए यह आवश्यक है। मॉड्यूल ज्यादातर एक ही कार्यक्षमता पर ध्यान केंद्रित करते हैं और इसलिए (अपेक्षाकृत) छोटे होते हैं और यह कि Magento 2 webshops कई हैं।

मॉड्यूल को आसानी से सक्षम और अक्षम किया जा सकता है जो विशिष्ट कार्यक्षमता का कारण बनेगा जो वे जोड़ते हैं या दिखाई देते हैं या गायब हो जाते हैं। यह पूरी साइट को बदलने का कारण नहीं होना चाहिए।

विषय-वस्तु

थीम वैश्विक वेबस्पॉट के लेआउट को बदलते हैं, टेम्प्लेटिंग और स्टाइल करते हैं और बिना किसी कार्यात्मकता को जोड़ना या निकालना चाहिए। यद्यपि पैकेज्ड (सशुल्क) थीम में विशेष सुविधाएँ शामिल हो सकती हैं, यह अक्सर ऐसे मॉड्यूल में किया जाता है जो इस तरह की थीम के साथ होते हैं। विषय-वस्तु विनिमेय होनी चाहिए, इस प्रकार किसी भी Magento 2 webshop पर लागू किया जा सकता है, लेकिन Magento 2 webshop विषयों को आसानी से स्विच कर सकता है (या एक मल्टी स्टोर सेटअप में उदाहरण के लिए कई है)।


इसलिए यदि आप पूछते हैं कि "साइट के बहुत से टेम्प्लेट / ब्लॉक / लेआउट के साथ वैश्विक साइट को ओवरराइड करें" , तो उत्तर एक थीम में होगा ।

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


1
वास्तव में, मैं चीजों को सही तरीके से करना चाहता हूं। उपयोगी उत्तर की सराहना करते हुए, मैं इनमें से कुछ बदलावों को एक विषय पर भेजना शुरू करूँगा।
डैनियल थॉम्पसन

3

यह जवाब है जो मुझे लगा कि यह मैगेंटो मानक नहीं हो सकता है

लेआउट और टेम्पलेट्स के लिए थीम का उपयोग कब करें और मॉड्यूल का उपयोग कब करें

विषय

जब आपको अपने परिवर्तनों की आवश्यकता होती है, तो एक जगह होनी चाहिए, जिसमें आपको अपने परिवर्तन दिखाने की आवश्यकता हो, अलग-अलग स्टोर या वेबसाइट में दिखें और आपके पास कई थीम हों, तब आप सीधे थीम में परिवर्तन कर सकते हैं

मापांक

जब आप आवश्यकता के लिए किसी भी मॉड्यूल या विस्तार का विकास कर रहे हों और आपको लगता है कि आपके परिवर्तन विश्व स्तर पर होने चाहिए तो आप लेआउट और टेम्पलेट को मॉड्यूल में ही रखें

मेरा सुझाव है कि हमेशा मॉड्यूल में एक मास्टर कॉपी बनाएं और यदि आप अपनी आवश्यकता के अनुसार बदलना चाहते हैं तो थीम में कॉपी करें और टेम्प्लेट में बदलाव करें।

इस तरह आप समस्याओं को हल कर सकते हैं जैसे कि यदि थीम बदली गई है तो आपकी मॉड्यूल फाइलें भी थीं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.