मैगेंटो 2 के लिए गमले - खरोंच से शुरू


27

आप में से कुछ ने शायद मैगेंटो 1 के लिए स्क्रैच से थीमिंग के बारे में उस विषय को पढ़ा है: थीमिंग - स्क्रैच से शुरू

मैं सोच रहा था, मैगेंटो 2 के लिए एक विषय को खरोंच से विकसित करने के लिए सबसे अच्छा अभ्यास क्या होगा?

  • आप मूल lumaया blankविषय का उपयोग कर निर्माण करते हैं ? या फिर कुछ और ?
  • क्या आप अपने विषय को विकसित करने में सहायता के लिए किसी एक्सटेंशन का उपयोग करते हैं?
  • स्क्रैच से किसी थीम को विकसित करते समय आप किन चरणों का पालन करते हैं?

मैं अपने उत्तर में कुछ लिंक प्रदान कर रहा हूं कृपया इसके माध्यम से जाएं, आप मैगेंटो 2.0 के फ्रंटेंड आर्किटेक्चर और विकास के बारे में जानेंगे।
असीम पात्रो

दृश्यपटल के लिए थीम बनाने के लिए Magento डॉक्स devdocs.magento.com/guides/v2.1/frontend-dev-guide/themes/… द्वारा चरणों का पालन करें ।
ऋषभ आरके राय

जवाबों:


45

टी एल: डॉ

क्या आप देशी लूमा या रिक्त विषय का उपयोग कर निर्माण करते हैं? या फिर कुछ और ?

यह आपके ऊपर है, मूल विषय घोषित करना वैकल्पिक है। यदि आप एक अभिभावक की घोषणा नहीं करते हैं, तो आप अभी भी मॉड्यूल (जैसे Magento_Catalog) पर लौट आएंगे जो XML और टेम्पलेट फ़ाइलें प्रदान करते हैं, लेकिन बहुत स्टाइलिंग।

क्या आप अपने विषय को विकसित करने में सहायता के लिए किसी एक्सटेंशन का उपयोग करते हैं?

जैसा कि मैं एससीएसएस और जीयूएलपी के साथ काम करना पसंद करता हूं मैं अब फ्रंटूल और एससीएसएस रिक्त विषय का उपयोग करता हूं । यह डिफ़ॉल्ट ग्रन्ट / LESS वर्फ्लो से निपटने के तनाव को दूर करता है।

स्क्रैच से किसी थीम को विकसित करते समय आप किन चरणों का पालन करते हैं?

  1. थीम घोषित करें
  2. मूल विषय सीएसएस निकालें (यदि आवश्यक हो)
  3. अपना खुद का CSS / LESS / SCSS जोड़ें

मेरी व्यक्तिगत राय यह है कि खरोंच से अपना खुद का 'खाली विषय' बनाना सबसे अच्छा है क्योंकि आप इसे ठीक वैसा ही बना सकते हैं जैसा आपको चाहिए।

यह है कि मैं स्क्रैच से एक थीम कैसे बनाऊंगा, मैंने अपने विक्रेता और थीम नाम के रूप में न्यूस्टोर / डिफ़ॉल्ट का उपयोग किया है।

अब अधिक विस्तृत जवाब के लिए ...

थीम बनाएं (आधिकारिक डॉक्स के अनुसार)

आधिकारिक डॉक्स के अनुसार थीम बनाएं

वैकल्पिक रूप से माता-पिता घोषित करना

आपके भीतर app/design/frontend/NewStore/default/theme.xmlमूल विषय घोषित करने या न करने का विकल्प है, इस उदाहरण के लिए मैंने पंक्ति 3 ( <parent>Vendor/theme</parent>) को छोड़ दिया है, इसलिए कोई मूल विषय नहीं है । इसका मतलब है कि सभी टेम्प्लेट / लेआउट फाइलें मॉड्यूल से स्वयं आ रही होंगी और ब्लैंक या लूमा नहीं होंगी, और इसमें कोई थीम स्टाइल नहीं होगा क्योंकि यह रिक्त विषय में जोड़ा गया है।

मेरा विषय। Xml इस तरह दिखता है:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
    <title>NewStore default</title>
    <media>
        <preview_image>media/preview.jpg</preview_image>
    </media>
</theme>

स्टाइल निकालें (यदि आप एक मूल विषय सेट करते हैं) और अपना खुद का सीएसएस जोड़ें

यदि आप एक माता-पिता के रूप में रिक्त या लूमा सेट करते हैं, तो आपको सीएसएस फ़ाइलों को लोड होने से रोकने की आवश्यकता होगी। app/design/frontend/NewStore/default/Magento_Theme/layout/default_head_blocks.xmlनिम्न XML बनाने और जोड़ने के लिए:

<?xml version="1.0" ?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>

        <!-- Remove blank/luma theme styling if you declared a parent -->
        <remove src="css/styles-m.css" />
        <remove src="css/styles-l.css" />
        <remove src="css/print.css" />

        <!-- Add your own CSS files -->
        <css src="css/styles.css" />
    </head>
</page>

यह हटाता है styles-m.css, styles-l.cssऔर print.cssरिक्त विषय द्वारा जोड़ा जाता है। यह अपने खुद के सीएसएस के लिए आधार के रूप में style.css भी जोड़ता है।

यदि आपने माता-पिता को निर्दिष्ट नहीं किया है तो आप <remove />ऊपर दिए गए कोड में 3 टैग निकाल सकते हैं।

अपने खुद के सीएसएस जोड़ें

अब आप अपनी थीम को स्टाइल कर सकते हैं, लेकिन कृपया, मैं लेस के बजाय सैस का प्रशंसक हूं, इसलिए मैंने इस फाइल को जोड़ा - app/design/frontend/NewStore/default/web/css/styles.scss

मैंने इस कार्य को सिद्ध करने के लिए यहां पृष्ठभूमि का रंग बदल दिया है, आदर्श रूप से आप इस फ़ाइल का उपयोग अन्य Sass / Less फाइल आयात करने के लिए करेंगे।

परिणाम

जो मैंने अभी किया है उसका परिणाम बिना स्टाइल के (मेरे सुंदर हरे रंग की पृष्ठभूमि के अलावा) एक विषय है, जो आपको मैगेंटो के साथ काम करने के बिना अपनी थीम को स्टाइल करने की अनुमति देता है (कभी-कभी मुश्किल से स्टाइल करना)।

यहाँ छवि विवरण दर्ज करें

टिप्स

  • यदि आप SCSS के साथ काम करना पसंद करते हैं और मेरे पास फ़्रैड से थीम बनाने का समय नहीं है, तो मैं फ़्रान्स और SCSS ब्लैंक थीम का उपयोग स्नोडॉग ऐप्स द्वारा करने की सलाह देता हूँ ।

  • मुझे लगता है कि मैगेंटो के फ्रंट-एंड कोड के साथ काम करने के लिए सबसे निराशाजनक पहलू यह है कि उनकी स्टाइलिंग कितनी विशिष्ट है, इससे बचने में मदद करने के लिए मैं अपने स्वयं के स्टाइल को लिखते समय BEM नामकरण सम्मेलन का उपयोग करने की सलाह दूंगा

  • यदि सहायक देवता ल्युमा / ब्लैंक के साथ काम करते थे, तो स्क्रैच से निर्मित थीम पर काम करने के लिए इस्तेमाल की जाने वाली टिप्पणी भी महत्वपूर्ण है, वे संभवतः उन चीजों से अलग काम करते हैं जो वे अपेक्षा करते हैं।


मैंने आपके निर्देशों का उपयोग करके अपना स्वयं का रिक्त विषय बनाया है, बिना किसी मूल विषय के theme.xml। हालाँकि, सामने के छोर में अभी भी सभी प्रकार की शैलियाँ दिखाई देती हैं। Magento की स्थापना developerमोड में है और सभी कैश को साफ़ कर दिया गया है। मुझे नहीं पता कि ये सभी शैलियाँ कहाँ से आती हैं - क्या आपके पास एक विचार है?
fritzmg

क्या आपके पास कोई एक्सटेंशन / प्लग इन स्थापित है? यह वार्निश भी हो सकता है अगर यह स्थापित हो जाए, तो यह सवाल करने के लिए कि URL के बाद एक प्रश्न चिह्न और एक यादृच्छिक स्ट्रिंग जोड़ें, जैसे कि?=123
बेन क्रुक

हाँ, मैंने वार्निश (या समान) को खारिज कर दिया है। कोई एक्सटेंशन या प्लग इन स्थापित नहीं हैं।
fritzmg

क्या यह पूरी थीम स्टाइल है या इसके कुछ हिस्से हैं? साइट और कोडबेस देखे बिना मेरे लिए कहना मुश्किल है। शायद एक नया प्रश्न पूछें और वहां कुछ विवरण पोस्ट करें? यदि आप मुझे टैग करते हैं तो मैं देखूंगा कि क्या मैं इसे काम कर सकता हूं।
बेन क्रुक

यह पूरी थीमिंग है जहां तक ​​मैं देख सकता हूं। प्लस मेरी अपनी विषय से सीएसएस फ़ाइल शामिल है। हाँ, शायद इसके लिए एक नया प्रश्न बनाना बेहतर है :)
fritzmg

8

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

इस लिंक से भी संदर्भ लें

http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-create.html

http://blog.magestore.com/how-to-create-custom-theme-on-magento-2-part-1/

इस लिंक से आप magento 2.0 के फ्रंटएंड आर्किटेक्चर के बारे में जानेंगे

http://inchoo.net/magento-2/frontend-theme-architecture/

इन दो लिंक को भी देखें

http://www.webmull.com/magento-2-create-new-custom-theme/

http://www.slideshare.net/Magestorecom/how-to-create-theme-in-magento-2-part-1


5

मैं खाली से प्रवेश करता हूं, लेकिन अधिक हल्के बेस थीम बनाने की कोशिश में तेजी से आगे बढ़ रहा हूं, जिसमें बहुत कम जटिल सीएसएस संरचना है।

यह ध्यान देने योग्य है कि, 2015 में, मैगेंटो बाहर आ गए हैं और कहा है कि वे लूमा से विरासत में लेने की सलाह नहीं देते हैं क्योंकि वे अपने स्वयं के विपणन और डेमो उद्देश्यों के लिए इसके लिए अघोषित परिवर्तन करने का अधिकार सुरक्षित रखते हैं। बाद में उन्होंने उस कथन को संशोधित करते हुए कहा कि यह उनका लक्ष्य है कि उन्हें विरासत की अनुमति दी जाए


3

किसी विषय को विकसित करने का सबसे अच्छा तरीका lumaया तो विरासत से शुरू करना है या blank। इसका कारण यह है कि वे उत्तरदायी (यानी बहु-रिज़ॉल्यूशन अनुकूल) बनने के लिए बनाए गए हैं। यह विभिन्न टेम्प्लेट फ़ाइलों और JS / CSS परिभाषाओं को बनाने में आपके द्वारा किए जाने वाले कार्य की मात्रा को भी कम करता है। आपको बस इतना करना है कि केवल उन टुकड़ों को ओवरराइड करें जिन्हें आप अपने हिसाब से कस्टमाइज करना चाहते हैं। विषय विकसित करने के तरीके के विभिन्न निर्देशों के लिए नीचे दिए गए लिंक देखें।

Magento के दस्तावेज़ लिंक:


टेंप्लेट फाइलें अब मॉड्यूल से आती हैं, न कि रिक्त / लूमा से, ताकि आप स्टाइल या बदलावों की आवश्यकता न होने पर उन्हें आसानी से बायपास कर सकें। उदाहरण के लिए यदि आप ऐप / डिज़ाइन / फ्रंटेंड / मैगेंटो / ब्लैंक / मैगेंटो_क्राफ्ट पर एक नज़र डालते हैं, तो यह एक तत्व को स्थानांतरित करता है और कुछ स्टाइल जोड़ता है, टेम्पलेट ऐप / कोड / मैगेंटो / कैटलॉग / व्यू / फ्रंटेंड / टेम्प्लेट से आ रहे हैं। ऐप / कोड / मैगनेटो / कैटलॉग / दृश्य / आधार / टेम्प्लेट
बेन क्रुक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.