Shopware Plattform / 6 / Playground lokal ohne Docker

Moin Dennis ( @dreischild‍  ),

wir sind momentan schon dabei die Dokumentation anzupassen und haben für viele Szenarien mittlerweile Beispiel Plugins.
Ich habe dir hier mal ein Beispiel Plugin angehangen, welches nichts wirklich macht, aber vieles einmal anreißt. (Testing suite, Services, Controller, Subscriber, Plugin Config, …)
Das wird so in der Form mal in einem “Plugin quick start” Guide auftauchen - daher auch der Name. :slight_smile:

Hilft dir das erstmal weiter?


@Shopwareianer‍:
Ich nutze das Setup mit MacOS und habe damit absolut keine Probleme.
Tatsächlich konnte ich da auch grob den Ubuntu Guide nutzen - man muss halt nur wissen, wie das jeweilige MacOS Pendant heißt / funktioniert.
Den von dir beschriebenen Fehler habe ich “leider” nicht.
Ich hatte übrigens diesen Guide genutzt, um mehrere PHP Versionen auf meinem System zu installieren - wie hast du das denn gemacht?

1 Like

Zu dem Fehler mit der Passwort Konstante gibt es auch ein Issue auf GitHub Argument 3 passed to PasswordField::__construct() must be of the type integer, string given · Issue #21 · shopware/platform · GitHub Wir müssen hier vielleicht noch mal schauen, ob wir eine andere Verschlüsselung als Default nehmen. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

1 Like

[@Patrick Stahl](http://forum.shopware.com/profile/1869/Patrick Stahl “Patrick Stahl”)‍ Ich nutze Valet Plus. Nur installiert man hier PHP 7.2 per default. Und da scheint wohl Argon nicht mit bei zu sein. Ich habe ebenfalls Argon über Homebrew insatlliert wie hier beschrieben: argon2 Installation on Mac with Brew | BrewInstall.org

Allerdings scheint es, dass ich eben die Homebrew 7.2 Version mit Argon2 kompilieren muss. Nur finde ich dazu keine Infos … :frowning:

 

[@Michael Telgmann](http://forum.shopware.com/profile/17553/Michael Telgmann “Michael Telgmann”)‍ Der Workaround vom Issue hat tatsächlich funktioniert, danke dafür. Ist natürlich keine Dauerlösung. Ich muss mal schauen, wie ich Argon mit kompiliert bekomme … Ich komme nun auf jeden Fall ins Backnd und das Frontend scheint auch halbwegs zu funktionieren.

Im Frontend habe ich jetzt nur noch den Fehler, dass die Javascript Datei auf einen Port referenziert “http://shopware-dev.test:9999/js/main.bundle.js” Da ich Docker & Co. nicht nutze ist dieser nicht erreichbar.

Wie kann ich den Port entfernen, sodass das Frontend hier http://shopware-dev.test/js/main.bundle.js ausgibt? Und: Wofür ist der Port notwendig, für irgendein hot-reloading? Irgendwelche Nachteile, wenn man es entfernt?

PS: Habe es in im vendor storefront base.twig Template gefunden. Allerdings auch wenn ich es entferne und die JS Datei im Frontend geladen wird, scheint das Frontend nicht zu funktionieren. Muss mal schauen, woran es dann hier wieder hapert :smiley:

PS: So sieht übrigens das Frontend bei mir aus. CSS & JS Datei lassen sich über den Quelltext aufrufen.

Imgur

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍:
Vielen Dank erstmal für das Script. Das ist super lieb und ich werde es nachher direkt mal testen. 

Mich wundert jedoch, dass er sagt, dass es bei ihm funktioniert, da weder der mysql_group_concat Wert erhöht wird noch NPM direkt bezogen wird. So müsste er dann eine veraltete NPM Version haben, die nicht kompatibel ist.

Melde mich dann nach dem Test noch einmal.

Ich konnte das Problem mit Valet / Homebrew & PHP 7.2 lösen.

Auf der Console wurde mir 7.2 ausgegeben, phpinfo() hat trotzdem weiterhin 7.1 ausgeschmissen. Das ganze lief also weiterhin auf PHP 7.1 ohne Argon.

Ich musste erst noch einmal 7.1 stoppen mit  brew services stop php71, obwohl es bereits deinstalliert war. Nun klappt es auch mit Argon2 :slight_smile:

@dreischild schrieb:

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍:
Vielen Dank erstmal für das Script. Das ist super lieb und ich werde es nachher direkt mal testen. 

Mich wundert jedoch, dass er sagt, dass es bei ihm funktioniert, da weder der mysql_group_concat Wert erhöht wird noch NPM direkt bezogen wird. So müsste er dann eine veraltete NPM Version haben, die nicht kompatibel ist.

Melde mich dann nach dem Test noch einmal.

Ja, sagte er mir noch dazu, dass man NPM noch updaten muss, ganz vergessen zu schreiben. 

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski „Moritz Naczenski“)‍
Danke, probiere ich mal!
[@Patrick Stahl](http://forum.shopware.com/profile/1869/Patrick Stahl „Patrick Stahl“)‍
Danke! :wink: Das Plugin ist ein guter Ansatzpunkt!

Bzgl. NPM. Ihr benötigt Version v6.5.0 (Release v6.5.0 · npm/cli · GitHub). Wir hatten hier auch schon entsprechende Issue gehabt: `npm clean-install` requires npm >= v6.5.0 · Issue #20 · shopware/platform · GitHub

Viele Grüße,
Stephan Pohl  Shopware 

@Shopwareianer‍ Richtig, der Port wird für den Hot Module Replacement Server von Webpack verwendet. Diesen kannst du im “base.html.twig” Template über die Variable “isHMRMode” togglen. Die Storefront wird noch nicht als gebaute Variante ausgeliefert, diese muss noch von deiner Seite aus kompiliert wird.

1 Like

@Stephan Pohl schrieb:

@Shopwareianer‍ Richtig, der Port wird für den Hot Module Replacement Server von Webpack verwendet. Diesen kannst du im „base.html.twig“ Template über die Variable „isHMRMode“ togglen. Die Storefront wird noch nicht als gebaute Variante ausgeliefert, diese muss noch von deiner Seite aus kompiliert wird.

Die Variable hatte ich bereits gefunden, danke.

Ah okay, bzgl. der Kompilierung, super - Dank dir :slight_smile:

Bei mir sieht die Storefront jetzt wie folgt aus ( ziemlich unfertig, checkout nur eine weiße seite usw. ), ist das korrekt - Oder immer noch fehlerhaft?

Imgur

@Shopwareianer schrieb:

Die Variable hatte ich bereits gefunden, danke.

Ah okay, bzgl. der Kompilierung, super - Dank dir :)

Bei mir sieht die Storefront jetzt wie folgt aus ( ziemlich unfertig, checkout nur eine weiße seite usw. ), ist das korrekt - Oder immer noch fehlerhaft?

Das ist korrekt. An der Storefront wird auch noch heftig gearbeitet, da steht bishe rnur die Basis. 

1 Like

@Moritz Naczenski schrieb:

@Shopwareianer schrieb:

Die Variable hatte ich bereits gefunden, danke.

Ah okay, bzgl. der Kompilierung, super - Dank dir :)

Bei mir sieht die Storefront jetzt wie folgt aus ( ziemlich unfertig, checkout nur eine weiße seite usw. ), ist das korrekt - Oder immer noch fehlerhaft?

Das ist korrekt. An der Storefront wird auch noch heftig gearbeitet, da steht bishe rnur die Basis. 

Okay, super.

Wenn an der Storefront noch gearbeitet wird, gehe ich davon aus, dass es derzeit auch noch nicht möglich ist ein eigenes custom Theme zu beginnen? 

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍
Nachdem ich nun ein paar Stellen angepasst habe funktioniert es bei mir, sodass ich auch eine Storefront habe und auch sonst erstmal alles zu funktionieren scheint. Vielen Dank noch mal für das Script.

[@Stephan Pohl](http://forum.shopware.com/profile/2/Stephan Pohl “Stephan Pohl”)‍
@Shopwareianer‍
Bei mir sieht die Storefront nun so aus wie in @Shopwareianer‍ Comment:
https://forum.shopware.com/discussion/comment/243936/#Comment_243936

Welche Schritte sind dann hier genau erforderlich, um die Ressourcen zu laden?

@dreischild‍ Du musst die Asset Dateien erst kompilieren, schau mal hier: https://docs.shopware.com/en/shopware-platform-en/getting-started/dev-setup?category=shopware-platform-en/getting-started#common-tasks

./psh.phar storefront:install  und ./psh.phar storefront:dev wären die Commands welche du benötigst. Dann werden alle Dateien für die Storefront kompiliert. Mit ./psh.phar bekommst du alle verfügbaren Commands.

@Shopwareianer‍
Ich habe nun einmal die folgenden Commands ausgeführt:

  • init
  • storefront:install
  • storefront:dev

Das Ergebnis ist das gleiche.

Im Quellcode wird aber auch bpsw.: 

@dreischild‍  Ist denn deine Installation über shopware.test:8000 erreichbar?

Ich habe bei mir in der base.html.twig die isHMRMode Variable auf false gesetzt im Footer - Sodass eben ohne das Hot Reload ads ganze geladen wird / ohne Port. Sprich http://shopware.test/js/main.bundle.js

Das wird bei dir wohl das gleiche sein.

Ah okay.
Dann ist http://shopware.test:8000/js/main.bundle.js bei mir korrekt, da ich auf dem Port 8000 arbeite.
Welche CSS Dateien werden denn bei dir geladen? Auch nur die ccs/main.bundle.css?

@dreischild schrieb:

Ah okay.
Dann ist http://shopware.test:8000/js/main.bundle.js bei mir korrekt, da ich auf dem Port 8000 arbeite.
Welche CSS Dateien werden denn bei dir geladen? Auch nur die ccs/main.bundle.css?

Jop.

/css/main.bundle.css"\>

Aber die Storefront hängt viel mehr mit dem Javascript zusammen. Funktioniert es denn nun nachdem kompiliere? 

Ne, irgendwie nicht. Naja, ich belasse es erstmal dabei. Die Storefront ist aktuell eh noch nicht so interessant.