Plugins lokal entwickeln

Hallo, ich habe hier im Forum schon mal fleißig die Plugin-Themen durchgesucht, kann aber mein Problem leider nicht finden. Und zwar möchte ich lokal (unter localhost, XAMP und Co.) Plugins entwickeln. Dazu habe ich das Einstiegsplugin von shopware (https://developers.shopware.com/develop … ick-start/) SwagSloganOfTheDay lokal installiert und aktiviert. Lokal bekommt man jedoch keinerlei Ausgabe im Frontend (trotz Cache leeren, Theme neu kompilieren). Unter einer nicht lokalen Installation bzw. auf einem virtuellen Server ist das kein Problem. - gleiche Shopversion (5.1) - Standard leere Installation mit Demodaten Wo hakts? MFG DST

Guten Tag dst, das liegt wahrscheinlich am Betriebssystem. Wir bieten keinen offiziellen Support für Windows daher kann es sein das bestimmte Plugins z.B. nicht funktionieren. (Da du XAMPP und co geschrieben hattest gehe ich davon aus das du lokal mit Windows entwickelst) Mit freundlichen Grüßen, Simon Bäumer

Hallo, danke für deine Rückmeldung. Ja genau ich nutze Windows 10 und XAMPP (habe auch WAMP ausprobiert). Weiß jemand, ob es vll. an einer Einstellung in XAMPP und co. liegen könnte, oder bleibt nur die Möglichkeit einer VM? MFG DST

Installier dir halt eine VM, geht ja fix. Hier ist auch ein kleiner Guide: https://developers.shopware.com/develop … -phpstorm/

1 Like

Okay, das hat funktioniert. Jetzt hänge ich nur ein bisschen am “Dump theme configuration” mit ./bin/console sw:theme:dump:configuration. Wie gehe ich da nun vor? schalte ich mich mit vagrant ssh auf und navigiere dann zum shopware verzeichnise und führe dann ./bin/console sw:theme:dump:configuration aus? Wenn ja, dann mache ich was falsch… Will halt weiterhin mit Grunt arbeiten und meine LESS Dateien kompilieren bevor ich diese hochlade.

Wenn du dich auf die VM einloggst, gehst du ins Shopware Verzeichnis und führst den Befehl aus. Alternativ kannst du auch direkt ins Shopware Verzeichnis gehen und dann php /bin/console sw:theme:dump:configuration Du sagst du machst was falsch - was denn genau / was passiert / passiert nicht / welchen Fehler bekommst du? npm install & co hast du ausgeführt im SW Ordner?

1 Like

Habe nun folgendes gemacht: im vagrant Ordner: vagrant ssh Dann zum Verzeichnis navigiert: cd /home/vagrant/www/shopware Dann den Theme Dump ausgeführt: php ./bin/console/ sw:theme:dump:configuration Jetzt hat er mir die json generiert :thumbup:

Genau - So steht es übrigens auch in den Docs. Zur Info: /bin/console ist die Datei im /bin Ordner welche die Shopware Konsole ausführt. Ergo musst du den Befehl entsprechend auch im Shopware Root ausführen.

Ja. Zuvor mit XAMPP hatte ich halt nicht das Problem, dass ich über SFTP und VM arbeiten musste, sondern alles komplett lokal war. Jetzt muss ich halt mit Vagrant ssh auf den Server und dort dumpen. NPM und Grunt läuft wiederum lokal (nicht auf der VM). So muss ich jetzt die Theme Config dumpen und mir die .json-Datei wieder von VM auf meine lokale Platte synchronisieren und bekomme eine neue cache-css-Datei welche ich überwachen lassen muss, damit diese bei einer Änderung hochgeladen wird. Kann man den Workflow irgendwie optimieren? Nervt halt, wenn man das Theme neu kompilieren muss (aktivieren oder deaktivieren mancher Plugins) und dann wieder per ssh auf den server, dumpen, config.json runterladen, andere gecachte css-Datei überwachen… (Ich arbeite mit Sublime und SFTP)

Ich weiß leider gerade nicht aus dem Kopf wie das Beispiel die Dateien synchronisiert. Da ich auch viel mit Laravel arbeite nutze ich als virtuelle Maschiene homestead. homestead ist hier praktisch auch eine vagrant box. homestead synchronisert ja aber deinen lokalen Ordner mit dem auf der VM. Man muss also nichts hin und her schieben und sich auf der VM eigentlich auch garnicht einloggen, weil eben alles direkt synchron mit deinem lokalen Ordner ist. Das einzige was du machen musst um Shopware dort zum laufen zu bringen ist lediglich die nginx config anpassen und den nginx neu starten auf der VM, mehr nicht. Um bspw. eine neue Shopware Installation anzulegen führt man einmal den Befehl homestead edit aus. Hier legt man dann den Pfad seiner neuen Shopware Installation an. Also: sites: - map: shopware.dev to: /home/vagrant/Code/Shopware/ Auf meinem Desktop habe ich den Ordner Code, wo alle Instllationen drin liegen. Diesen Ordner kannst du auch in der homestead Datei anpassen. folders: - map: ~/Desktop/code to: /home/vagrant/Code Er mapt also den Ordner /code auf dem Desktop in der Vagrant Maschiene zu /home/vagrant/Code Danach nur noch ein homestead up --provision und homestead legt dann für dich die nötigen vhost Dateien & Co an. Dann nur noch mit homestead ssh in die VM einloggen und die nginx config für Shopware in deinem vhost anpassen. Die nötige nginx config findest du hier Du loggst dich also auf der vm ein mit homestead ssh und passt deine vhost Datei an in /etc/nginx/sites-available/shopware.dev Danach ein sudo service nginx restart und deine Shopware Installation ist zu erreichen unter shopware.dev. Hier dann natürlich noch in deiner /etc/hosts auf deinem Rechner die IP hinterlegen. Also bspw. 192.168.10.10 shopware.dev damit dein lokaler Rechner auch die Seite aufrufen kann. Was du dann natürlich noch machen musst ist eine Datenbank anlegen. Homestead hat bereits alles vorinstalliert auch User+PW. Der User für die Datenbank ist „homestead“ und das Passwort „secret“. Homestead legt automatisch die Datenbank „homestead“ an. Diese kannst du verwenden. Hast du mehrere Installationen musst du natürlich weitere Datenbanken anlegen. Auf OSX geht das z.B total easy mit dem Programm „Sequal Pro“ für Windows bspw „sqlmaestro“. Oder du installierst dir einfach phpmyadmin.

Moin, funktioniert das denn so ohne Anpassungen mit homestead? Wenn ich das richtig sehe wird dort ja ein nginx verwendet, irgendwie hab ich so im Kopf das Shopware nur auf einem Apache-Server einwandfrei funktioniert. Oder liege ich da falsch? Viele Grüße, Sven

[quote=„svenfinke“]Moin, funktioniert das denn so ohne Anpassungen mit homestead? Wenn ich das richtig sehe wird dort ja ein nginx verwendet, irgendwie hab ich so im Kopf das Shopware nur auf einem Apache-Server einwandfrei funktioniert. Oder liege ich da falsch? Viele Grüße, Sven[/quote] Les meinen Beitrag noch einmal durch, habe diesen schon editiert :wink:

1 Like

[quote=„kayyy“][quote=„svenfinke“]Moin, funktioniert das denn so ohne Anpassungen mit homestead? Wenn ich das richtig sehe wird dort ja ein nginx verwendet, irgendwie hab ich so im Kopf das Shopware nur auf einem Apache-Server einwandfrei funktioniert. Oder liege ich da falsch? Viele Grüße, Sven[/quote] Les meinen Beitrag noch einmal durch, habe diesen schon editiert ;)[/quote] Oh super! Besten Dank! Dazu aber dann doch nochmal eine Frage: Lässt sich mit den Anpassungen Shopware auch produktiv auf einem nginx betrieben oder sollte man dort doch lieber auf einen Apache setzen? Wie sieht es dann auch mit dem Support von Shopware aus? (Entwickler-Support)

Shopware läuft ohne Probleme auch produktiv auf nginx. Wir bieten ja hier übrigens optimiertes Shopware Hosting auf nginx an - da gibt es also keinerlei Einschränkungen. Die nginx Config vom Benjamin kannst du für jeden Shopware Shop auf nginx nutzen, produktiv als auch entwicklung. Das ist völlig egal.