Magento 2: Як замінити домашню сторінку теми Luma


9

Я використовую Magento 2 CE версії 2.1.0 для WAMP Windows 10

Я вже посилався

Magento 2: Як замінити HTML-файл шаблону за замовчуванням міні-кошика?

Хочеться замінити тему Magento 2 Luma за замовчуванням

У мене нижче структура папок

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

app \ design \ frontend \ Користувальницькі \ Тема \ Magento_Theme \ registration.php

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

додаток \ дизайн \ frontend \ Спеціальні \ Тема \ Magento_Theme \ topic.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

Створюючи будь-яку нову тему чи модуль, вам потрібно визначити файл register.php в корені вашого модуля або папки теми.

Завжди використовуйте назву теми в малому регістрі, оскільки Magento використовував цей стандарт для оголошення назви теми.

Ви не маєте жодних проблем із збереженням імені теми в камелі, але використання стандартного способу дуже цінується.

Ви повинні визначити файл register.php у папці Magento_Theme, його в неправильному місці.

Правильна схема структури теми буде наведена нижче,

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

Файл registration.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щоб встановити власну тему.

Вийміть кеш-пам'ять і перевірте в інтерфейс.


Bijal Usean & SH Patel. Приймаю відповідь @Rakesh, тому що раніше я з ним обговорював це питання.
— Анкіт Шах

Це помилка під час збереження з адміністратора 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 із кореня та перевірте
— Ракеш Jesadiya

Ні. Випуск все ще
— Анкіт Шах


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>

Примітка: розмістіть preview.jpg вapp/design/frontend/<vendor>/<theme>/media/preview.jpg

цих двох файлів достатньо, щоб отримати список тем в адміністраторі, а потім застосувати свою тему.

Якщо ви хочете, наприклад, замінити шаблони luma 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
— Анкіт Шах


будь ласка, перевірте свого доступу до кореневого каталогу magento та його групи користувачів, це повинен бути користувач веб-сервера та їх групи, а також перевірити дозвіл на читання / запис цього каталогу. перейдіть за цим посиланням, ви можете отримати більше ідеї devdocs.magento.com/guides/v2.0/install-gde/prereq/… magento.stackexchange.com/q/91870/36463
— Bilal Usean

1

Неправильний шлях ви використали.

Дотримуйтесь наведених нижче інструкцій для створення нової власної теми.

Створіть файл 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>

Створіть файл registration.php у app/design/frontend/Custom/Theme/registration.phpкоді нижче.

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

скопіювати preview.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 та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.