Einige von Ihnen haben dieses Thema wahrscheinlich in Bezug auf Theming von Grund auf für Magento 1 gelesen: Theming - von Grund auf neu
Ich habe mich gefragt, was die beste Vorgehensweise wäre, um ein Theme von Grund auf für Magento 2 zu entwickeln.
- Bauen Sie mit dem Muttersprachler
luma
oderblank
Thema? Oder sonst noch etwas? - Verwenden Sie eine Erweiterung, um Ihr Thema zu entwickeln?
- Welche Schritte befolgen Sie, wenn Sie ein Thema von Grund auf neu entwickeln?
Antworten:
TL: DR
Es liegt an Ihnen, ein übergeordnetes Thema als optional zu deklarieren. Wenn Sie kein übergeordnetes Element deklarieren, greifen Sie dennoch auf die Module (z. B. Magento_Catalog) zurück, die XML- und Vorlagendateien, jedoch kein Styling bereitstellen.
Da ich lieber mit SCSS und GULP arbeite, verwende ich jetzt Frontools und das SCSS-Blanko-Theme . Dadurch wird die Belastung durch den Standard-Grunt / LESS-Workflow erheblich verringert.
Meiner persönlichen Meinung nach ist es am besten, ein eigenes "leeres Thema" von Grund auf zu erstellen, da Sie dies so anpassen können, dass es genau Ihren Anforderungen entspricht.
So würde ich ein Thema von Grund auf neu erstellen. Ich habe NewStore / default als meinen Lieferanten- und Themennamen verwendet.
Nun zur detaillierteren Antwort ...
Erstellen Sie das Thema (gemäß den offiziellen Dokumenten)
Erstellen Sie das Thema gemäß den offiziellen Dokumenten
Optionales Deklarieren eines übergeordneten Elements
Innerhalb
app/design/frontend/NewStore/default/theme.xml
Sie die Wahl zur Vereinbarkeit einer Mutter Themas haben oder nicht, für dieses Beispiel habe ich weggelassen Linie 3 (<parent>Vendor/theme</parent>
) , so gibt es kein übergeordnetes Thema . Dies bedeutet, dass alle Vorlagen / Layout-Dateien von den Modulen selbst stammen und nicht von Blank oder Luma, und dass keine Themengestaltung erfolgt, da dies dem leeren Thema hinzugefügt wird.Meine theme.xml sieht so aus:
Entfernen Sie das Styling (wenn Sie ein übergeordnetes Thema festlegen) und fügen Sie Ihr eigenes CSS hinzu
Wenn Sie "leer" oder "Luma" als übergeordnetes Element festlegen, müssen Sie verhindern, dass die CSS-Dateien geladen werden. Erstellen
app/design/frontend/NewStore/default/Magento_Theme/layout/default_head_blocks.xml
Sie dazu folgendes XML und fügen Sie es hinzu:Dies entfernt
styles-m.css
,styles-l.css
undprint.css
durch das leere Thema hinzugefügt. Es fügt auch styles.css als Basis für Ihr eigenes CSS hinzu.Wenn Sie kein übergeordnetes Element angegeben haben, können Sie die 3
<remove />
Tags im obigen Code entfernen .Fügen Sie Ihr eigenes CSS hinzu
Sie können Ihr Thema jetzt nach Belieben stylen. Ich bin eher ein Fan von Sass als von LESS. Deshalb habe ich diese Datei hinzugefügt.
app/design/frontend/NewStore/default/web/css/styles.scss
Ich habe die Hintergrundfarbe hier geändert, um zu beweisen, dass dies funktioniert. Idealerweise würden Sie diese Datei nur zum Importieren anderer Sass / Less-Dateien verwenden.
Ergebnis
Das Ergebnis dessen, was ich gerade getan habe, ist ein Thema ohne Stil (abgesehen von meinem wunderschönen grünen Hintergrund), mit dem Sie Ihr Thema stylen können, ohne mit Magentos Stil (manchmal schwierig zu bearbeiten) zu arbeiten.
Tipps
Wenn Sie lieber mit SCSS arbeiten und keine Zeit haben, ein neues Design zu erstellen, empfehlen wir die Verwendung von Frontools und dem SCSS-Blanko- Design, beide von Snowdog Apps .
Ich finde, der frustrierendste Aspekt bei der Arbeit mit Magentos Front-End-Code ist, wie spezifisch das Styling ist. Um dies zu vermeiden, empfehle ich die Verwendung der BEM-Namenskonvention, wenn Sie Ihr eigenes Styling schreiben.
Auch hilfreiche Kommentare sind wichtig, wenn ein Entwickler, der mit Luma / Blank gearbeitet hat, an einem von Grund auf neu erstellten Thema arbeitete, würde er wahrscheinlich feststellen, dass die Dinge ganz anders funktionieren als erwartet.
quelle
theme.xml
. Es sind jedoch immer noch alle Arten von Stilen im Frontend sichtbar. Die Magento-Installation ist imdeveloper
Modus und alle Caches wurden gelöscht. Ich weiß nicht, woher all diese Stile kommen - hast du eine Idee??=123
Es gibt eine Menge Tutorials zum Starten eines Themas in Magento 2.0. Ich stelle einige Videolinks und einige normale Links zur Verfügung, über die Sie sich über die Themenentwicklung in Magento 2.0 informieren können. Klicken Sie hier für ein Video
Verweise auch auf diese Links
http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-create.html
http://blog.magestore.com/wie-zum-Create-Custom-theme-on-magento-2-part-1/
Über diesen Link erfahren Sie mehr über die Frontend-Architektur von Magento 2.0
http://inchoo.net/magento-2/frontend-theme-architecture/
Überprüfen Sie auch diese beiden Links
http://www.webmull.com/magento-2-create-new-custom-theme/
http://www.slideshare.net/Magestorecom/how-to-create-theme-in-magento-2-part-1
quelle
Ich übernehme von blank, versuche aber schnell, ein leichteres Basisthema mit einer viel weniger komplexen CSS-Struktur zu erstellen.
Es ist erwähnenswert, dass Magento im Jahr 2015 herausgekommen ist und gesagt hat, dass es nicht empfohlen wird, von Luma zu erben, da sie sich das Recht vorbehalten , unangekündigte Änderungen für ihre eigenen Marketing- und Demozwecke vorzunehmen. Sie überarbeiteten diese Aussage später, indem sie sagten, es sei ihr Ziel, das Erben zuzulassen .
quelle
Der beste Weg, ein Thema zu entwickeln, besteht darin, entweder von
luma
oder zu erbenblank
. Der Grund dafür ist, dass sie so konzipiert sind, dass sie reagieren (dh für mehrere Auflösungen geeignet sind). Dies reduziert auch den Arbeitsaufwand beim Erstellen der verschiedenen Vorlagendateien und JS / CSS-Definitionen. Alles, was Sie tun müssen, ist, nur die Teile zu überschreiben, die Sie mit Ihren eigenen anpassen möchten. Unter den folgenden Links finden Sie verschiedene Anweisungen zum Entwickeln eines Themas.Magento-Dokumentationslinks:
quelle