Hilfreiche Links:
Bei dem Sprung von SW 5 zu SW 6 gab es ein paar Änderungen:
  • Bei den Templates wurde von Smarty auf Twig gewechselt
  • Der Fokus wird viel stärker auf das Framework Symfony gelegt
  • SW 6 ist deutlich API-basierter (https://docs.shopware.com/en/shopware-platform-dev-en/admin-api-guide)
  • Es können verschiedene Shop-Kanäle unabhängig voneinander über das gleiche System angebunden werden
  • Die Optik des Backends wurde komplett überarbeitet und modernisiert
  • Backend Oberflächentechnologie wurde von Sencha ExtJs4 auf Vue.js umgestellt
  • IDs in der Datenbank wurden auf Hex umgestellt
  • Verwendung von Sass statt less
Installation der Development-Version:

https://docs.shopware.com/en/shopware-platform-dev-en/system-guide/installation

  • Systemanforderungen können aus der Shopware-Doku entnommen werden
  • bei der Development SW 6 Variante handelt es sich um ein Docker-Sync basierendes Projekt,

es sollte also sichergestellt sein, dass Docker auf dem Rechner installiert ist und du die entsprechenden Rechte hast

  • Auschecken des Git Projekts:
git clone https://github.com/shopware/development.git
cd development
git clone https://github.com/shopware/platform.git

  • Ausführen des Docker-Containers:
./psh.phar docker:start

  • Bash im Docker-Container:
./psh.phar docker:ssh

  • Hier kann man sich alle verfügbaren Befehle ausgeben lassen:
bin/console

  • Ausführen der Installation:
./psh.phar install

  • Nach der Installation, sofern die Default-Einstellungen nicht angepasst wurden:

Frontend: APP_URL in der .env Datei (localhost:8000)
Shopware-Backend: localhost:8000/admin
MYSQL DB: localhost:8001

Installation der Community-Version:
  • Auf der offiziellen Shopware Seite stehen zudem noch mehrere Community-Versionen für verschiedene Betriebssysteme zur Verfügung:

https://www.shopware.com/de/download/?gclid=Cj0KCQjwudb3BRC9ARIsAEa-vUtOOrJzSt5FURzXCI85HWXyAlq4jJRRMnRa_BQF5LUlq-NuP2g3VWUaAnSxEALw_wcB#shopware-6?utm_term=shopware 6&utm_campaign=DE+-+Brand&utm_source=adwords&utm_medium=ppc&hsa_acc=5890165290&hsa_cam=746674006&hsa_grp=79489446711&hsa_ad=386109715119&hsa_src=g&hsa_tgt=kwd-656591588792&hsa_kw=shopware 6&hsa_mt=e&hsa_net=adwords&hsa_ver=3

Themes:

https://docs.shopware.com/en/shopware-platform-dev-en/theme-guide/theme-create?category=shopware-platform-dev-en/theme-guide

  • Möchte man Templates anpassen, so bietet es sich an, ein neues Theme anzulegen
  • In SW 6 werden neue Themes in den gleichen Ordner wie PlugIns abgelegt: > custom > plugins
  • Ein neues Theme kann im Docker Container angelegt werden. Der Vorteil ist hierbei, dass die Grundstruktur nicht mehr manuell angelegt werden muss
 bin/console theme:create "Themename"

  • Anpassen eines Templates:

Twig Guide: https://twig.symfony.com/

Heraussuchen des Pfades des Templates im platform-Ordner, das angepasst werden soll (Elternemelent)
In diesem Beispiel der Footer:

{% sw_extends '@Storefront/layout/footer/footer.html.twig' %}

Übernehmen des entsprechenden Blocks, der angepasst werden soll:

{% block layout_footer_navigation_columns %}
{% endblock %}

Ausgabe des Codes des Elternelements:

 {{ parent() }}


Ausgabe der gesamten Struktur und alle Variablen, auf die das aktuelle Template zugreifen kann:

 {{ dump() }}


Einbinden von Icons:

{% sw_icon 'money-card' %}

Einbinden einer Route im Template:
In diesem Beispiel die Seite zum Ändern der Zahlungsarten im Kundenaccount. Man sollte nicht die direkte URL (./account/payment) verwenden, falls sich diese mal ändern sollte, sondern den Namen der jeweiligen Route Diesen findet man im Controller-File der Seite, auf die man verlinken möchte zB. @Route(„/account/payment“, name=“frontend.account.payment.page“, options={„seo“=“false“}, methods={„GET“})

 href="{{path('frontend.account.payment.page')}}"


PlugIns:

Plugin Basics: https://docs.shopware.com/en/shopware-platform-dev-en/developer-guide/plugin-base?category=shopware-platform-dev-en/developer-guide

HowTos: https://docs.shopware.com/en/shopware-platform-dev-en/how-to

  • Ein neues PlugIn kann im Docker Container angelegt werden. Der Vorteil ist hierbei, dass die Grundstruktur nicht mehr manuell angelegt werden muss
bin/console plugin:create "PlugInname"

  • Installieren und Aktivieren eines PlugIns:
bin/console plugin:refresh
bin/console plugin:install --active "PlugInname"

Generieren einer neuen ID:
Uuid::randomHex()

HTML Code Rendern:

https://twig.symfony.com/doc/2.x/filters/raw.html

  • Es kommt vor, dass man beispielsweise bei Custom Fields HTML Tags verwendet hat
  • Um diese in den Templates korrekt auszugeben, gibt es eine spezielle Pipe: | raw
Showpare-Blog

Bei weiteren Fragen nutzen Sie gerne unser Kontaktformular

Kategorien
Neueste Beiträge