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.