Shopware bietet in den sw-cli-tools einige coole Funktionen an. Eine davon ist das generieren von Plugin Grundgerüsten. Das spart einiges an Zeit und ist schnell eingerichtet.
Installation
Ich würde euch empfehlen das Repository herunterzuladen und von dort den Befehl auszuführen.
git clone https://github.com/shopwareLabs/sw-cli-tools cd sw-cli-tools && composer install
Ihr könnt das ganze auch mit der sw.phar file machen, welche Ihr im Repo downloaden könnt.
Diese packt Ihr dann einfach in euer Shopware Verzeichnis unter bin
wget http://shopwarelabs.github.io/sw-cli-tools/sw.phar cp sw.phar /var/www/shopware/bin/sw.phar
Wenn Ihr in einem produktiv Repo arbeitet denkt noch daran die File in die .gitignore zu packen:
echo -en "\nbin/sw.phar" >> .gitignore
Plugin erstellen
Alle Befehlsoptionen findet Ihr HIER – ich gehe hier nur auf die von mir genutzten ein.
Frontend Controller
--haveFrontend | -f
Erstellt einen Frontend Controller für das Plugin
Lizenz Header
--licenseHeader[="..."]
Generiert euch einen Lizenz Header – hier habe ich vor kurzem einen PR erstellt, da es mir mit der Beschreibung nicht klar war, dass man hier eine File angibt und keinen Text.
Ich habe mir verschiedene Lizenz Dateien abgelegt um privat und im Auftrag zu programmieren. Diese sollten keinen Comment Style enthalten, das wird automatisch hinzugefügt. Das ganze wird dann auch noch in eine LICENSE Datei im Plugin-Root abgelegt. ( ich nutze zum Beispiel die BSD Lizenz )
Am Ende sieht das ganze wie folgt aus:
php7.0 bin/sw.phar plugin:create -f --licenseHeader="/home/micha/Dokumente/Shopware/LICENSES/miho_license.txt" MihoTestPlugin
Welches dann folgende Plugin-Struktur in custom/plugins erstellt
Fazit
Wieder mal eine ziemlich nette Sache von Shopware und allen Entwicklern die Contributions zu dem Repo geleistet haben. Hoffentlich wird das Repo weiterhin gepflegt und man kann es auch in Zukunft nutzen.
Hallo,
Ich habe mir das Repo direkt per git in den /bin Ordner von Shopware installiert und mit composer installiert.
Aber ich bekomme mit
php7.2 bin/sw.phar plugin:create -f –licenseHeader=“/home/gwen/Shopware/LICENSES/gwen_license.txt“ gwenDemoPlugin keinen Frontend Controller erstellt.
Je nachdem, wie ich in das Verzeichnis wechsel, kommt die Meldung:
Could not open input file: bin/sw.phar
Could not open input file: sw.phar
Could not open input file: /bin/sw.phar
Gruß.
jenny
Hi Jenny,
sicher das die sw.phar im richtigen Verzeichnis ist?
ich weiß nicht.
Das ist mein Pfad /shopware-5.5.1-0/apps/shopware/htdocs/bin/sw-cli-tools
Folgende Dateien sind enthalten.
ach, wie ich sehe, gibt es in /sw-cli-tools noch einen /bin Ordner.
Darin ist eine sw.php vorhanden. Ist das die?
Ich werde es morgen mal testen.
Besten Dank.