Magento 2 में एक बाल थीम कैसे बनाएं


18

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

मैं यह एक बाल थीम के माध्यम से करना चाहता हूं।

क्या Magento 2 बाल विषयों का समर्थन करता है और, यदि हां, तो मैं ऐसा करने के लिए अपनी निर्देशिका पथ को कैसे बनाऊँ?


1
मैं आपका आभारी हूं कि आपने यह प्रश्न पूछा। मैं उसी चीज़ पर हैरान हो रहा था!
2

जवाबों:


26

हमें एक बाल विषय बनाने की सुविधा देता है, इसलिए Magento 2 में हमारे सभी कस्टम विषय यहाँ दिए गए हैं:

एप्लिकेशन / डिजाइन / दृश्यपटल / company_name / THEME_NAME

हमें मान लेते हैं, हमारी कंपनी का नाम mycompany है और हमारा थीम नाम बुनियादी है। हमें अपनी थीम के लिए निम्नलिखित निर्देशिका संरचना बनाने की आवश्यकता है:

app
└────design
     └──────frontend
            └──mycompany
               └───basic
                   └──etc
                   └──Magento_Theme
                          └─layout
                                default.xml
                   └──media
                          preview.png
                   └──web
                     └─css
                     └─fonts
                     └─images
                     └─js
                    theme.xml
                    registration.php

मेरी कंपनी :-

थीम पैकेज का नाम

मूल: - विषय का नाम। हमारे पास mycompany फ़ोल्डर के अंदर कई नामित थीम हो सकते हैं।

आदि / view.xml: -

इस फ़ाइल का उपयोग उत्पाद छवि आयाम, थंबनेल आदि को निर्दिष्ट करने के लिए किया जाता है।

Magento_Theme: - इस निर्देशिका का उपयोग मौजूदा Magento की थीम फ़ाइलों को ओवरराइड करने के लिए किया जाता है।

Magento_Theme / लेआउट / default.xml: - डिफ़ॉल्ट रूप से Magento2 मानता है कि आपकी थीम का लोगो फ़ाइल होना चाहिए: /web/media/logo.svg यदि आप लोगो के लिए कोई अन्य फ़ाइल चाहते हैं, तो आपको इसे घोषित करना होगाdefault.xml फ़ाइल ।

इस फ़ाइल का उपयोग डिफ़ॉल्ट थीम की सेटिंग को ओवरराइड करने के लिए भी किया जाता है।

मीडिया / प्रीव्यू। png: - करंट थीम का पूर्वावलोकन।

web: - इस डायरेक्टरी में सभी थीम के स्टैटिक डेटा जैसे चित्र, स्टाइल, जावास्क्रिप्ट, फोंट आदि शामिल हैं।

registration.php: - इस फाइल को Magento2 सिस्टम में हमारे विषय को रजिस्टर करने के लिए आवश्यक है।

theme.xml: - यह एक अनिवार्य फाइल है जो हमारे थीम के नाम, उसके अभिभावक और वैकल्पिक रूप से थीम की पूर्वावलोकन छवि को परिभाषित करती है।

थीम फाइल बनाना

आइए अब हम एक-एक करके अपनी फाइल बनाते हैं।

theme.xml (app / design / frontend / mycompany / basic / theme.xml)

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
   <title>Basic</title> <!-- your theme's name -->
   <parent>Magento/blank</parent> <!-- the parent theme -->
   <media>
        <preview_image>media/preview.jpg</preview_image> <!-- theme's preview image -->
   </media>
</theme>

Registration.php (ऐप / डिज़ाइन / फ्रंटेंड / mycompany / बुनियादी / पंजीकरण.php)

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/mycompany/basic',
    __DIR__
);

default.xml (ऐप / डिज़ाइन / फ्रंटेंड / mycompany / बुनियादी / Magento_Theme / लेआउट / default.xml)

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="logo">
           <arguments>
              <argument name="logo_file" xsi:type="string">images/my_logo.png</argument>
              <argument name="logo_img_width" xsi:type="number">200</argument>
              <argument name="logo_img_height" xsi:type="number">200</argument>
           </arguments>
        </referenceBlock>
    </body>
</page>

इस बिंदु पर, हमारा विषय तैयार है। अपना कैश साफ़ करें और हम अब एडमिन से अपनी नई थीम चुनेंगे।

अब, व्यवस्थापन में लॉगिन करें और निम्न पथ पर जाएं:

Content -> Design -> Themes

आपको अपने विषय को सूचीबद्ध देखना चाहिए।

अब यहां जाएं:

Stores -> Configuration -> Design

शीर्ष बाईं ओर स्टोर दृश्य के सामने मुख्य वेबसाइट चुनें। अब क्लिक करें

Desgin -> Design Theme

डिफ़ॉल्ट चेकबॉक्स का उपयोग अनचेक करें और अपनी थीम चुनें। सहेजें कॉन्फ़िगरेशन पर क्लिक करें, अपना कैश साफ़ करें और आपका नया विषय तैयार है। अपने मुख पृष्ठ की जाँच करें।

अधिक विवरण के लिए यहां देखें।


व्यापक चरण-दर-चरण गाइड @Arunendra के लिए धन्यवाद। मैं इसे शीघ्र ही आजमाऊंगा और वापस पोस्ट करूंगा।
एच। फेरेंस

यह उत्कृष्ट @ अरुणेंद्र है। पूरी तरह से काम किया। बस किसी भी कदम को लंघन के बिना इसे पूरी तरह से पालन करने की आवश्यकता है।
एच। फेरेंस

1
महान चरण-दर-चरण @ अरुणेंद्र। बस अगर कोई मेरे साथ समान समस्याओं में भागता है, तो आप अपने पंजीकृत विषय को लागू करने वाले स्थान से बदल गए Design -> Design Themeहैं Content/Design/Configuration
केडमास्टर

महत्वपूर्ण नोट: फ़ाइल media/preview.pngमौजूद होनी चाहिए अन्यथा Magento अपवाद छोड़ देगा।
सलमान ने अब्बास

5

निर्देशिका बनाएँ:

रूट डायरेक्टरी में रूट पर जाएं और ऐप / डिज़ाइन / फ्रंटेंड पर नेविगेट करें , डायरेक्टरी डेमो बनाएं ।

अब ऐप / डिज़ाइन / फ्रंटेंड / डेमो में Mytheme डायरेक्टरी बनाएं

एप्लिकेशन / डिज़ाइन / फ़्रंट / डेमो / Mytheme में Mangento_Theme निर्देशिका बनाएं

एप्लिकेशन / डिज़ाइन / फ़्रंट / डेमो / Mytheme / Magento_Theme में लेआउट निर्देशिका बनाएं

एप्लिकेशन / डिज़ाइन / फ्रंट / डेमो / Mytheme में मीडिया निर्देशिका बनाएं

में वेब निर्देशिका बनाएँऐप / डिज़ाइन / फ्रंटएंड / डेमो / Mytheme ।

एप्लिकेशन / डिज़ाइन / फ़्रंट / डेमो / Mytheme / वेब में छवियां निर्देशिका बनाएं

थीम की घोषणा

एप्लिकेशन / डिज़ाइन / फ़्रंट / डेमो / Mytheme में theme.xml फ़ाइल बनाएँ, और इसमें निम्न कोड पेस्ट करें:

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

थीम का पंजीकरण

अब app / design / frontend / Demo / Mytheme में registration.php फाइल बनाएं और उसमें निम्न कोड पेस्ट करें:

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::THEME, 'frontend/Demo/Mytheme', __DIR__
);

थीम पूर्वावलोकन छवि अपलोड करें

ऐप / डिज़ाइन / फ्रंटएंड / डेमो / Mytheme / मीडिया पर जाएं और यहां अपनी पूर्वावलोकन छवि (प्रीव्यू.जेपीजी) अपलोड करें।

थीम लोगो की घोषणा

ऐप / डिज़ाइन / फ्रंटएंड / डेमो / Mytheme / Magento_Theme / लेआउट पर जाएं और एक default.xml फ़ाइल बनाएं। इसमें निम्न कोड चिपकाएँ:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="logo">
<arguments>
<argument name="logo_file" xsi:type="string">images/mytheme-logo.png</argument>
<argument name="logo_img_width" xsi:type="number">200</argument>
<argument name="logo_img_height" xsi:type="number">200</argument>
</arguments>
</referenceBlock>
</body>
</page>

थीम लोगो अपलोड करें

ऐप / डिज़ाइन / फ्रंटएंड / डेमो / Mytheme / वेब / इमेज पर जाएं और यहां अपना लोगो (mytheme-logo.png) अपलोड करें।

अपना थीम लागू करें

  • अपने Magento 2 के व्यवस्थापक पैनल को खोलें और सामग्री → कॉन्फ़िगरेशन पर जाएं।

  • Edit ऑप्शन पर क्लिक करें।

  • एप्लाइड थीम ड्रॉप डाउन मेनू से Mytheme चुनें और
    Save कॉन्फ़िगरेशन पर क्लिक करें।

कमांड चलाएं

SSH टर्मिनल खोलें और अपने Magento के रूट डायरेक्टरी में जाएं। अब इन सभी कमांड को एक-एक करके चलाएं:

rm -rf var/di/* var/generation/* var/cache/* var/log/* var/page_cache/* var/session/* var/view_preprocessed/* pub/static/*
php bin/magento setup:upgrade
php bin/magento setup:db-schema:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento indexer:reindex
php bin/magento cache:clean
php bin/magento cache:flush
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.