Jetzt möchte ich dieses Plugin gerne im Live-System installieren. Ich schiebe also die Dateien in den /custom/plugins/ Ordner, gehe ins SW6 Backend und installiere und aktiviere das Plugin. Bis hierhin funktioniert das auch. Allerdings wird mir mein CMS-Block nicht angezeigt. Es wird nach der Installation auch kein Ordner in /public/bundles/ erstellt.
Müsste ich auf dem Live-System auch noch mal ein „./psh.phar administration:build“ ausführen? Das wäre nämlich ein Problem, da ich auf dem System keine Möglichkeit dazu habe. Welche Alternativen hätte ich hier?
du musst, wie es auch die beiden Plugins tun, natürlich auch die Dateien unter public/administration/js bzw. /css mitliefern ( https://github.com/shopware/swag-docs-custom-cms-block/tree/master/src/Resources/public/administration ), die beinhalten ja schließlich den Block in der Administration, dann geht es auch im Livesystem. Das ist auch der “way to go”, die für das Livesystem mitzuliefern. administration:build im Livesystem ist nicht vorgesehen und auch nicht gewollt.
und du erwartest wirklich, das jeder Shopbetreiber bei der Installation eines Plugins noch auf der Konsole irgendwelche Befehle ausführen soll, speziell um die Administration zu rebuilden? Wie gesagt, der „way to go“ ist es, die beiden Dateien (für das Livesystem) bereits beim Plugin mitzuliefern (was ja auch überhaupt kein Problem darstellt, man kann sie sich nach dem administration:build im develop ja problemlos dort herunterladen und schon hat man sie und hat sie auch im Plugin). Das kannst du jetzt glauben - oder nicht. Aber nicht umsonst gibt es die beiden Dateien in jedem Beispiel - Plugin von Shopware auch, die ja auch in Liveumgebungen eingesetzt werden können.
Es wurde hier schon oft genug erwähnt, das ein Livesystem nicht zum Entwickeln da ist.
denkst du, die Dateien werden aus Spaß an der Freude bei den Beispiel - Plugins mit abgelegt / mitgeliefert?
Lad dir doch einfach irgendein Plugin für Shopware 6 für die Erlebniswelten herunter - dort wirst du überall genauso die Dateien finden.
Aber mach es doch, wie du möchtest - wenn du bei deinem Plugin später mal den Shopbetreiber zwingen willst, irgendwelche Konsolenbefehle in seinem Liveshop auszuführen, damit er dein Plugin nutzen kann, nur weil du zu faul bist, die beiden Dateien mitzuliefern, ist dies deine Sache.
„Changes to the administration are loaded by our Webpack configuration. For this to work properly, a public directory is created in the /Resources directory when building the administration via the command ./psh.phar administration:build. It contains a minified file containing your administration JS code. This directory has to be part of your plugin when using it on live systems, since its content will then be copied into the project’s public directory. Only the project’s public directory is accessible for a website, so your code has to be there as well“.
Danke @sschreier. Wir haben zwar quasi aneinander vorbei geredet, aber du hast mir trotzdem geholfen. Ich habe “./psh.phar administration:build” natürlich immer nur auf meiner Vagrant-Maschine ausgeführt, die kompilierten Dateien in %plugin-root%/src/Resources, waren deswegen natürlich nur in der Vagrant-Maschine und nicht in meiner Entwicklungsumgebung.
Ich hatte mich darauf versteift, dass unter %webroot%/public/bundles/ kein Verzeichnis für mein Plugin generiert wurde. Das hat aber jetzt auch geklappt.
ich hab die beiden Dateien auf das Live-System kopiert und das Theme neu kompiliert und den Cache geleert. Der neue CMS Block taucht trotzdem nicht auf. Auf dem lokalen System (wo ich das administration-build gemacht hab) funktioniert der Block. Was könnte das sein?
Ins blaue geraten würde ich vermuten, dass die Templates fehlen
Es müssen ja nicht nur „die beiden“ Dateien in das Live-System hochgeladen werden, sondern auch die .twig.html-Dateien, wie es auch in der Dokumentation beschrieben wird.