Тематика Magento 2


Я пытаюсь создать пользовательскую тему для magneto2 и заметил, что файлы тем для luma и blank расположены в папке поставщика, а приложение/дизайн/Magento пусто. У меня есть пара вопросов по этому поводу. Я просмотрел документацию на веб-сайте magento и создал папку в разделе приложение/дизайн, которая соответствовала их структуре. Не похоже, что моя пользовательская тема наследует родительскую. Нужно ли мне переместить нужную тему из папки поставщика в приложение/дизайн/magento/пустой заказ для его наследования? У кого-нибудь еще есть эта проблема. Я заметил, что здесь есть много вопросов по этому поводу, но ни на один из них нет ответов, или те, у которых есть ответы, предлагают не получать zip и использовать файл из git. Кто-нибудь может пролить некоторый свет на это?

Author: user3262111, 2016-05-25

3 answers

Выполните следующие действия для создания темы теперь вам нужно создавать файлы один за другим.

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 ( app/design/frontend/mycompany/basic/registration.php )

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

Default.xml ( app/design/frontend/mycompany/basic/Magento_Theme/layout/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

Снимите флажок Использовать по умолчанию и выберите свою тему. Нажмите Сохранить конфигурацию, очистите кэш, и ваша новая тема будет готова. Проверьте свою домашнюю страницу.

Для более подробной информации смотрите здесь.

 2
Author: Arunendra, 2017-04-13 12:55:05

Файл, необходимый для установки родительской темы, - app/design/frontend/**VENDOR**/**THEME**/theme.xml. Это все, что вам нужно сделать, если это не сработает, попробуйте очистить кэш и очистить var/pre_processed и pub/static (и запустить php bin/magento setup:static-content:deploy, если вы находитесь в рабочем режиме). Если это не сработает, проверьте свою тему на наличие ошибок.

<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>

Эта строка - строка, в которой вы определяете родителя:

<parent>Magento/blank</parent>

Например, если бы вы хотели унаследовать от Luma (Magento не советует этого делать, так как это их демонстрационная тема), вы бы использование:

<parent>Magento/luma</parent>

Если вы уже сделали это, то я подозреваю, что это будет связано с кэшами, или у вас все еще установлен рабочий режим Magento, поэтому вам нужно выполнить команду развертывания статического содержимого, которую я отметил в верхней части моего комментария.

Я бы не советовал перемещать какие-либо каталоги из папки поставщика.

 1
Author: Ben Crook, 2016-05-25 06:48:23

Я смог заставить это работать, используя приведенные выше инструкции. Одна вещь, которую я хотел бы упомянуть, - ваша тема не будет наследоваться и компилироваться, если у вас нет файла в веб-папке.

 1
Author: user3262111, 2016-05-25 20:21:20