Magento 2: कैसे लुमा थीम होम पेज को ओवरराइड करें


9

मैं WAMP Windows 10 पर Magento 2 CE संस्करण 2.1.0 का उपयोग कर रहा हूं

मैंने पहले ही रेफर कर दिया

Magento 2: मिनी-कार्ट डिफ़ॉल्ट टेम्पलेट HTML फ़ाइल को ओवरराइड कैसे करें?

Magento के 2 डिफॉल्ट लूमा थीम को ओवरराइड करना चाहेंगे

मेरे पास फ़ोल्डर संरचना है

magento2
 |_ app
   |_ design
      |_ frontend
        |_ Custom
            |_Theme
              |_Magento_Theme
                |_templates
                  |_root.phtml     - Copy of Luma
                registration.php
                theme.xml

एप्लिकेशन \ डिजाइन \ दृश्यपटल \ कस्टम \ थीम \ Magento_Theme \ registration.php

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/Custom/Theme',
    __DIR__
);

एप्लिकेशन \ डिजाइन \ दृश्यपटल \ कस्टम \ थीम \ Magento_Theme \ theme.xml

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
    <title>My Theme</title>
    <parent>Magento/luma</parent>
</theme>

मैं php bin/magento setup:static-content:deployकैश को भी चलाता और साफ करता हूं । यह मेरे नए बनाए गए थीम को प्रदर्शित नहीं कर रहा है Admin -> Content -> Design -> Configuration। ड्रॉपडाउन सूची संपादित करें।

क्या मुझे अभी भी याद आ रहा है?


जवाबों:


6

कोई भी नया थीम या मॉड्यूल बनाते समय आपको अपने मॉड्यूल या थीम फ़ोल्डर के मूल में पंजीकरण.फपी फाइल को परिभाषित करने की आवश्यकता होती है।

हमेशा लोअरकेस में थीम नाम का उपयोग करें, क्योंकि मैगेंटो ने थीम नाम की घोषणा के लिए इस मानक का उपयोग किया था।

कैमलकेस में थीम नाम रखने के लिए आपको कोई समस्या नहीं है, लेकिन मानक तरीके का उपयोग करने के लिए बहुत सराहना की जाती है।

आपको Magento_Theme फ़ोल्डर के अंदर इसकी गलत जगह Registration.php फ़ाइल को परिभाषित करना होगा।

विषय संरचना का सही आरेख नीचे होगा,

magento2
 |_ app
   |_ design
      |_ frontend
        |_ Custom
            |_theme
              |_Magento_Theme
                |_templates
                  |_root.phtml     - Copy of Luma
              |_registration.php
              |_theme.xml

Registration.php के लिए आपका रास्ता है app\design\frontend\Custom\theme\registration.php

पंजीकरण। php फ़ाइल:

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

आपका theme.xml फ़ाइल पथ होगा,

app\design\frontend\Custom\theme\theme.xml

theme.xml फ़ाइल:

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

सभी सेटअप पूर्ण होने के बाद, विषय के लिए परिनियोजन कमांड चलाना न भूलें,

php bin/magento setup:static-content:deploy

Content -> Design -> Configurationअपनी कस्टम थीम सेट करने के लिए अपने व्यवस्थापक पैनल के अंदर देखें ।

कैश निकालें और दृश्यपटल में जांचें।


बिजल उसैन और एसएच पटेल। @ राकेश के उत्तर को स्वीकार करना क्योंकि पहले मैं इस मुद्दे पर उनसे चर्चा कर चुका हूं।
अंकित शाह

यह एडमिन से सेव करते समय त्रुटि दे रहा है Cannot read contents from file "D:/wamp/www/magento2/" Warning!file_get_contents(D:/wamp/www/magento2/): failed to open stream: No such file or directory। इसलिए नए थीम को बचाने और सक्षम करने में असमर्थ
अंकित शाह

कृपया अपग्रेड कमांड चलाएं, फिर तैनाती कमांड चलाएं, var फोल्डर को रूट से हटाएं और चेक करें
राकेश जेसादिया

नहीं। स्टिल इश्यू
अंकित शाह


1

आप theme.xml और registration.php को गलत स्थान पर रखते हैं, वास्तविक स्थान है

app/design/frontend/<vendor>/<theme>/registration.php

<?php
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/<vendor>/<theme>',
    __DIR__
);

app/design/frontend/<vendor>/<theme>/theme.xml

<!--
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
    <title>Vendor Theme</title>
    <parent>Magento/luma</parent>
    <media>
        <preview_image>media/preview.jpg</preview_image>
    </media>
</theme>

ध्यान दें: पूर्वावलोकन करें। jpg मेंapp/design/frontend/<vendor>/<theme>/media/preview.jpg

इन दो फ़ाइलों को व्यवस्थापक में अपनी थीम सूची प्राप्त करने के लिए पर्याप्त है, फिर अपनी थीम लागू करें।

यदि आप उदाहरण के लिए लूमा टेम्प्लेट को ओवरराइड करना चाहते हैं app/code/Magento/Catalog/view/frontend/templates/product/view/addtocart.phtml, तो आप उस टेम्प्लेट के परिवर्तन कर सकते हैंapp/design/frontend/<vendor>/<theme>/Magento_Catalog/templates/product/view/addtocart.phtml


व्यवस्थापन से बचत करते समय यह त्रुटि दे रहा है Cannot read contents from file "D:/wamp/www/magento2/" Warning!file_get_contents(D:/wamp/www/magento2/): failed to open stream: No such file or directory.ताकि नए थीम को सहेजने और सक्षम करने में असमर्थ हो
अंकित शाह

ऐसा लगता है कि फ़ाइल अनुमति समस्याएँ हैं, क्या आपने जांच की है कि क्या आप Magento मानक के अनुसार सही अनुमति सेट करते हैं।
बिलाल उसैन

जैसा कि प्रश्न में उल्लेख किया गया हैI'm using Magento 2 CE Version 2.1.0 on WAMP Windows 10
अंकित शाह


कृपया अपने मैगनेटो रूट डायरेक्टरी एक्सेस यूजर और उनके यूजर ग्रुप की जांच करें, यह वेब सर्वर यूजर और उनका ग्रुप होना चाहिए, साथ ही उस डायरेक्टरी की रीड / राइट चेक भी करना चाहिए। इस दो लिंक को देखें आप अधिक विचार प्राप्त कर सकते हैं devdocs.magento.com/guides/v2.0/install-gde/prereq/… magento.stackexchange.com/q/91870/36463
बिलाल उसैन

1

गलत रास्ता जो आपने इस्तेमाल किया है।

नई कस्टम थीम बनाने के लिए bellow निर्देश का पालन करें।

नीचे दिए गए कोड के साथ theme.xml फ़ाइल बनाएँ /app/design/frontend/Custom/Theme/theme.xml

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

app/design/frontend/Custom/Theme/registration.phpनीचे दिए गए कोड के साथ Registration.php फ़ाइल बनाएँ ।

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/Custom/theme',
    __DIR__
);

से copy.jpg कॉपी करें

vendor/magento/theme-frontend-luma/media/preview.jpg 

में जोड़े

app/design/frontend/Custom/Theme/media/preview.jpg

अब आप अपने कस्टम विषय को व्यवस्थापक में देख सकते हैं, व्यवस्थापक से कस्टम विषय का चयन कर सकते हैं और इसे सहेज सकते हैं।


व्यवस्थापन से बचत करते समय यह त्रुटि दे रहा है Cannot read contents from file "D:/wamp/www/magento2/" Warning!file_get_contents(D:/wamp/www/magento2/): failed to open stream: No such file or directory.ताकि नए थीम को सहेजने और सक्षम करने में असमर्थ हो
अंकित शाह

Luma विषय बचाओ काम ठीक से?
सुरेश चिकानी

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