Этот метод работает для Magento 1, но не для Magento 2 (версия 0.42.0-beta10): http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/admin/using_custom_admin_theme_templates
Этот метод работает для Magento 1, но не для Magento 2 (версия 0.42.0-beta10): http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/admin/using_custom_admin_theme_templates
Ответы:
Процесс очень похож на создание темы для внешнего интерфейса.
1. Создайте theme.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>
Теперь вы можете переписать что-то в своей теме администратора, чтобы посмотреть, работает ли она.
setup:static-content:deploy
Система тем немного изменилась в Magento 2, но есть сходства.
Сначала вам нужно создать папку с темой app/design/frontend
. Структура папок аналогична структуре модулей. Вы должны иметь имя поставщика (в Magento 1 называлось package) и папку с темой.
Так что создавай 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
в структуре папок. Принцип тот же.
На случай, если у кого-то возникнут проблемы с генерацией статических файлов для вновь созданной темы администратора. Для того, чтобы magento генерировал файлы для внутренней темы при установке: static-content: deploy, app/design/adminhtml/<yourpackage>/<yourtheme>/web/
папка должна содержать файлы. Любой фиктивный файл сделает эту работу.
Для создания темы администратора перейдите по ссылкам ниже, это должно быть работать.