Некоторые из вас, вероятно, читали эту тему, посвященную тематике с нуля, для Magento 1: Тематика - с нуля.
Мне было интересно, что будет лучшей практикой для разработки темы с нуля для Magento 2?
- Вы строите, используя натив
luma
илиblank
тему? Или что-нибудь еще? - Используете ли вы какие-либо расширения, чтобы помочь вам развить свою тему?
- Какие шаги вы выполняете при разработке темы с нуля?
Ответы:
TL: DR
Это зависит от вас, объявление родительской темы не является обязательным. Если вы не объявите родителя, вы все равно будете использовать модули (например, Magento_Catalog), которые предоставляют XML и файлы шаблонов, но не имеют стиля.
Поскольку я предпочитаю работать с SCSS и GULP, я теперь использую Frontools и пустую тему SCSS . Это устраняет большую часть стресса при работе со стандартным потоком Grunt / LESS.
Мое личное мнение: лучше всего создать свою собственную «пустую тему» с нуля, так как вы можете настроить ее именно так, как вам нужно.
Вот так я бы создал тему с нуля, я использовал NewStore / default в качестве своего поставщика и название темы.
Теперь для более подробного ответа ...
Создать тему (согласно официальным документам)
Создайте тему согласно официальным документам
При желании объявление родителя
Внутри у
app/design/frontend/NewStore/default/theme.xml
вас есть выбор: объявить родительскую тему или нет, для этого примера я пропустил строку 3 (<parent>Vendor/theme</parent>
), поэтому родительская тема отсутствует . Это означает, что все шаблоны / файлы макетов будут исходить от самих модулей, а не от Blank или Luma, и не будет стилизации темы, так как это добавлено в пустую тему.Мой theme.xml выглядит так:
Удалите стилизацию (если вы установили родительскую тему) и добавьте свой собственный CSS
Если вы установите пустой или Luma в качестве родителя, вам нужно будет запретить загрузку CSS-файлов. Для этого создайте
app/design/frontend/NewStore/default/Magento_Theme/layout/default_head_blocks.xml
и добавьте следующий XML:Это удаляет
styles-m.css
,styles-l.css
иprint.css
добавляется пустой темой. Он также добавляет styles.css в качестве основы для вашего собственного CSS.Если вы не указали родителя, вы можете удалить 3
<remove />
тега из кода выше.Добавьте свой собственный CSS
Теперь вы можете оформить свою тему, как вам угодно, я поклонник Sass, а не LESS, поэтому я добавил этот файл -
app/design/frontend/NewStore/default/web/css/styles.scss
Я изменил цвет фона здесь, чтобы доказать, что это работает, в идеале вы должны использовать этот файл только для импорта других файлов Sass / Less.
Результат
Результатом того, что я только что сделал, является тема без стилей (кроме моего красивого зеленого фона), позволяющая вам стилизовать вашу тему, не работая с стилем Magento (иногда трудным для работы).
подсказки
Если вы предпочитаете работать с SCSS и у вас нет времени на создание темы с нуля, я рекомендую использовать Frontools и пустую тему SCSS, разработанные Snowdog Apps .
Я считаю, что наиболее разочаровывающим аспектом работы с интерфейсным кодом Magento является то, насколько специфичен их стиль. Чтобы избежать этого, я бы порекомендовал использовать соглашение об именах BEM при написании собственного стиля.
Также полезные комментарии являются ключевыми, если бы разработчик, привыкший работать с Luma / Blank, работал над созданной с нуля темой, он, вероятно, обнаружил бы, что все работает совсем не так, как они ожидали.
источник
theme.xml
. Тем не менее, есть все виды стилей, видимых в передней части. Установка Magento находится вdeveloper
режиме, и все кэши были очищены. Я не знаю, откуда взялись все эти стили - у вас есть идея??=123
Есть много обучающих программ для начала темы в Magento 2.0. Я предоставляю некоторые ссылки на видео и обычные ссылки, где вы можете получить хорошие знания о разработке темы в magento 2.0. нажмите здесь для видео
взять ссылку из этой ссылки также
http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-create.html
http://blog.magestore.com/how-to-create-custom-theme-on-magento-2-part-1/
По этой ссылке вы узнаете о внешней архитектуре magento 2.0
http://inchoo.net/magento-2/frontend-theme-architecture/
также проверьте эти две ссылки
http://www.webmull.com/magento-2-create-new-custom-theme/
http://www.slideshare.net/Magestorecom/how-to-create-theme-in-magento-2-part-1
источник
Я наследую с нуля, но быстро стремлюсь к созданию более легкой базовой темы, которая имеет гораздо менее сложную структуру CSS.
Стоит отметить, что в 2015 году Magento вышли и сказали, что они не рекомендуют наследовать от luma, поскольку они оставляют за собой право вносить в него необъявленные изменения для своих собственных маркетинговых и демонстрационных целей. Позже они пересмотрели это утверждение, заявив, что их цель - разрешить наследование .
источник
Лучший способ начать разработку темы, чтобы начать с наследующим либо
luma
илиblank
. Причина этого в том, что они построены так, чтобы быть отзывчивыми (т.е. дружественными к нескольким разрешениям). Это также уменьшает объем работы, которую вы должны выполнить при создании различных файлов шаблонов и определений JS / CSS. Все, что вам нужно сделать, это просто переопределить только те части, которые вы хотите настроить своими собственными. См. Ссылки ниже для различных инструкций о том, как разработать тему.Magento Документация Ссылки:
источник