Як створити тему адміністратора для Magento2


Відповіді:


12

Процес досить схожий на створення теми для фронтенду.

1. Створіть тему.xml в

app/design/adminhtml/<yourpackage>/<yourtheme>/theme.xml

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

2. Зареєструйте тему в

app/design/adminhtml/<yourpackage>/<yourtheme>/registration.php

3. Увімкнути тему.

you can enable frontend theme in admin, but for backend you need to enable the theme through di.xml 

в app/code/Magento/Theme/etc/di.xml, ви можете знайти блок коду нижче. додайте цей блок коду до свого модуля та змініть adminhtml на свій пакет адміністратора та назву теми.

    <type name="Magento\Theme\Model\View\Design">
       <arguments>
          <argument name="themes" xsi:type="array">
            <item name="frontend" xsi:type="string">Magento/luma</item>
            <item name="adminhtml" xsi:type="string">Magento/backend</item>
         </argument>
      </arguments>
    </type>

Тепер ви можете перезаписати щось у темі адміністратора, щоб побачити, чи працює він.


THX, дуже корисно!
LucScu

2
крок 3 покращено тут magento.stackexchange.com/a/120960/23344
LucScu

1
після установки: static-content: розгортання нічого не створено для моєї нової теми adminhtml, чого мені не вистачає? Я намагаюся виконати кілька конфігурацій на composer.json, але все ще не створюю нічого під статичним вмістом. Будь-яка пропозиція?
AleGrinGo

2
У моїй спеціальній темі адміністратора після запуску не створюються статичні файлиsetup:static-content:deploy
Василь Бурлаку

я також! як ви вирішуєте це?
LucScu

2

Тема системи трохи змінилася в Magento 2, але є подібності.
Спочатку потрібно створити тему в app/design/frontend. Структура папок схожа на структуру модулів. Ви повинні мати ім’я постачальника (у Magento 1 називалося пакетом) та папку з темами.

Тож творіть app/design/frontend/Vendor/theme.
Тоді ви повинні оголосити свою тему.
вам потрібно створити всередині вашої тематичної папки файл theme.xmlіз таким вмістом:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Config/etc/theme.xsd">
    <title>Your theme name</title>
    <parent>Magento/blank</parent><!-- or any other parent theme similar to Magento 1.9 -->
    <media>
        <preview_image>media/preview.jpg</preview_image>
    </media>
</theme>

потім створіть попереднє зображення теми в темі в mediaпапці (також створіть це) і зателефонуйте до попереднього перегляду preview.jpg(як зазначено в XML вище).

Тепер ваша тема налаштована.
Якщо ви хочете щось змінити з батьківської теми, все, що вам потрібно зробити, - скопіювати файл, який ви хочете змінити (макет, шаблон), на свою тему з певного модуля, і зробіть свою магію.

Наприклад , якщо ви хочете , щоб змінити спосіб , що вид продукту виглядає сторінка скопіювати файл app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xmlна app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xmlі змінити те , що вам потрібно.

Детальніше про створення теми ви можете прочитати тут .
Я також знайшов зразок теми, який можна використовувати як орієнтир .
Ви також можете встановити офіційні зразкові дані, і ви отримаєте тему під назвою, lumaде ви можете бачити структуру папок.


Дякую за відповідь! Але я думаю, що мені потрібно перекласти своє погане, вибачте.
Матьє

Я хочу переглядати тему бекенда (тему адміністратора), а не фронтенд.
Матьє

Це не проблема. Етапи ті ж, але замість frontendвикористання adminhtmlв структурі папок. Принцип той же.
Маріус

Добре, дякую. Але я не розумію, як оголосити нову тему для адмін. Чи є: "app / code / Magento / Backend / etc / config.xml"?
Матьє

<stores> <admin> <design> <package> <name> за замовчуванням </name> </package> <theme> <default> backback </default> </theme> </design> </admin> </ магазини >
Матьє

2

Якщо у когось є проблеми зі створенням статичних файлів для новоствореної теми адміністратора. Для того, щоб magento генерував файли для бекенд-теми під час налаштування: static-content: розкрутка, app/design/adminhtml/<yourpackage>/<yourtheme>/web/ папка повинна містити файли. Будь-який фіктивний файл зробив би цю роботу.


Я створив порожню main.css у веб-папці, і досі я не створюю статичних файлів
Скотт,

@Scott Ви також зробили всі необхідні кроки, які запропонував Маріус у своїй відповіді? І як саме виглядає відносний шлях до main.css у вашому випадку?
drevidchuck

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.