Niektórzy z was zapewne przeczytali ten temat dotyczący tematów od zera w Magento 1: Theming - od zera
Zastanawiałem się, jaka byłaby najlepsza praktyka opracowania od podstaw motywu dla Magento 2?
- Czy budujesz przy użyciu natywnego
luma
lubblank
motywu? Albo coś innego ? - Czy używasz jakiegoś rozszerzenia, aby pomóc Ci rozwinąć swój motyw?
- Jakie kroki wykonujesz, opracowując motyw od zera?
Odpowiedzi:
TL: DR
To od Ciebie zależy, czy motyw nadrzędny jest opcjonalny. Jeśli nie zadeklarujesz rodzica, nadal będziesz korzystać z modułów (np. Magento_Catalog), które udostępniają pliki XML i szablony, ale nie mają stylizacji.
Ponieważ wolę pracować z SCSS i GULP, teraz używam Frontools i pustego motywu SCSS . Eliminuje wiele stresu związanego z domyślnym przepływem pracy Grunt / LESS.
Moim osobistym zdaniem najlepiej jest stworzyć od podstaw własny „pusty motyw”, ponieważ możesz go dostosować tak, aby był dokładnie tym, czego potrzebujesz.
W ten sposób stworzę motyw od zera. Użyłem NewStore / default jako nazwy mojego dostawcy i motywu.
Teraz bardziej szczegółowa odpowiedź ...
Utwórz motyw (zgodnie z oficjalnymi dokumentami)
Utwórz motyw zgodnie z oficjalnymi dokumentami
Opcjonalnie deklarując rodzica
W
app/design/frontend/NewStore/default/theme.xml
tobie masz wybór zadeklarowania motywu nadrzędnego lub nie, w tym przykładzie pominąłem wiersz 3 (<parent>Vendor/theme</parent>
), więc nie ma motywu nadrzędnego . Oznacza to, że wszystkie szablony / pliki układu będą pochodzić z samych modułów, a nie puste lub Luma, i nie będzie stylizacji motywu, ponieważ jest dodawany w pustym motywie.Mój theme.xml wygląda następująco:
Usuń styl (jeśli ustawisz motyw nadrzędny) i dodaj własny CSS
Jeśli ustawisz puste lub Luma jako rodzic, będziesz musiał zapobiec ładowaniu plików CSS. Aby to zrobić, utwórz
app/design/frontend/NewStore/default/Magento_Theme/layout/default_head_blocks.xml
i dodaj następujący kod XML:Spowoduje to usunięcie
styles-m.css
,styles-l.css
aprint.css
dodane przez tematu pusty. Dodaje też styles.css jako bazę do własnego CSS.Jeśli nie określiłeś rodzica, możesz usunąć 3
<remove />
tagi z powyższego kodu.Dodaj własny CSS
Możesz teraz stylizować swój motyw, jak tylko zechcesz, jestem raczej fanem Sassa niż MNIEJ, więc dodałem ten plik -
app/design/frontend/NewStore/default/web/css/styles.scss
Zmieniłem tutaj kolor tła tylko po to, aby udowodnić, że działa, najlepiej użyć tego pliku do importowania innych plików Sass / Less.
Wynik
Rezultatem tego, co właśnie zrobiłem, jest motyw bez stylizacji (oprócz mojego pięknego zielonego tła), który pozwala stylizować motyw bez pracy ze stylem Magento (czasem trudnym w obróbce).
Porady
Jeśli wolisz pracować z SCSS i nie masz czasu na tworzenie motywu od podstaw, polecam korzystanie z Frontools i pustego motywu SCSS zarówno przez Snowdog Apps .
Najbardziej frustrującym aspektem pracy z kodem frontonu Magento jest to, jak specyficzna jest ich stylizacja. Aby tego uniknąć, zalecam stosowanie konwencji nazewnictwa BEM podczas pisania własnego stylu.
Kluczowe są także pomocne komentarze, jeśli programista przyzwyczajony do pracy z Lumą / Blankem pracował nad motywem zbudowanym od zera, prawdopodobnie zauważy, że wszystko działa zupełnie inaczej niż się spodziewano.
źródło
theme.xml
. Jednak nadal są różne style widoczne na froncie. Instalacja Magento jest wdeveloper
trybie i wszystkie pamięci podręczne zostały wyczyszczone. Nie wiem, skąd się biorą te wszystkie style - masz pomysł??=123
Istnieje wiele samouczków dotyczących rozpoczynania tematu w Magento 2.0. Podaję kilka linków wideo i kilka normalnych linków, dzięki którym można uzyskać dobrą wiedzę na temat tworzenia motywów w Magento 2.0. kliknij tutaj, aby obejrzeć wideo
zapoznaj się również z tymi linkami
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/
Z tego linku dowiesz się o architekturze frontendu magento 2.0
http://inchoo.net/magento-2/frontend-theme-architecture/
sprawdź również te dwa linki
http://www.webmull.com/magento-2-create-new-custom-theme/
http://www.slideshare.net/Magestorecom/how-to-create-theme-in-magento-2-part-1
źródło
Dziedziczę po pustych, ale szybko dążę do stworzenia bardziej lekkiego podstawowego motywu o znacznie mniej złożonej strukturze CSS.
Warto zauważyć, że w 2015 roku Magento wyszło i powiedział, że nie zaleca dziedziczenia po lumie, ponieważ zastrzega sobie prawo do wprowadzania niezapowiedzianych zmian w celach marketingowych i demonstracyjnych. Później zmienili to stwierdzenie, mówiąc, że ich celem jest umożliwienie dziedziczenia .
źródło
Najlepszym sposobem na rozpoczęcie tworzenia motywu jest rozpoczęcie od dziedziczenia z jednego
luma
lub drugiegoblank
. Powodem tego jest to, że są one zbudowane tak, aby były responsywne (tj. Przyjazne dla wielu rozdzielczości). Zmniejsza to również nakład pracy związany z tworzeniem różnych plików szablonów i definicji JS / CSS. Wszystko, co musisz zrobić, to po prostu zastąpić tylko te elementy, które chcesz dostosować za pomocą własnych. Zobacz poniższe linki, aby uzyskać instrukcje dotyczące tworzenia motywu.Dokumentacja Magento Linki:
źródło