Backend JS - Plugin Config

Hallo zusammen, gibt es eine einfache Methode im Backend / Views JS Bereich an Shopware oder Plugin Config Einstellungen zu kommen? PHP Seitig mache ich dies ja mit $this->config() D.h. ich benötige in einer Backend Erweiterung Einstellungen aus der Plugin Config. Danke im Voraus.

Hallo Ottscho, wir hatten gestern in einem Plugin dieselbe Anforderung, in diesem Fall konnten wir das lösen, indem wir per Smarty die Konfiguration auslesen und so in den Javascript Code einfügen. Grundsätzlich kann man folgendermaßen aus Smarty heraus auf die Plugin-Konfiguration zugreifen (angenommen, der Plugin-Name ist „ViisonAddressLabel“): {Enlight\_Application::Instance()-\>Plugins()-\>Backend()-\>ViisonAddressLabel()-\>Config()-\>get('showButtonInOrderList', true)} In unserem Fall war die Option vom Typ boolean, da musste man noch etwas tricksen, um in Javascript auch wirklich true oder false zu erhalten: {if Enlight\_Application::Instance()-\>Plugins()-\>Backend()-\>ViisonAddressLabel()-\>Config()-\>get('showButtonInOrderList', true)}true{else}false{/if} Natürlich funktioniert diese Vorgehensweise nur, wenn schon beim Laden des Javascript-Codes bekannt ist, auf welche Option zugegriffen werden soll. Ebenfalls werden Änderungen an den Plugin-Optionen erst nach Neuladen des Browsers inkl. Browser-Cache übernommen. Wenn du dynamisch auf die Plugin-Optionen zugreifen möchtest, wird dir nichts anderes übrig bleiben, als dir einen Backend Controller zu schreiben, der dann den Wert der entsprechenden Option per AJAX zurückliefert. Beste Grüße Andre Wisplinghoff VIISON GmbH

Hi, es gibt gibt die Smarty-Funktion {config name=“meine-config” namespace=“MeinPlugin”}, die ihr auch nutzen könnt. lG Daniel

Hi Daniel, danke für den Tipp, das ist so natürlich schon mal etwas einfacher. Mit booleans kommt diese Funktion allerdings auch nicht gut zurecht, statt false produziert auch diese einen leeren String - von daher ist auch hier in diesem Fall noch Nacharbeit vonnöten. Beste Grüße Andre

Du brauchst natürlich eine Instanz vorher, die gültige Daten ausspuckt: var meinBoolean = ("{config name='meine-config' namespace='MeinPlugin'}" != ""); Nun hast du ein boolean Wert. Viele Grüße

super, ich danke allen für den Input

Funktioniert das Ganze noch mit dem neuen Pluginsystem? Ich komme da nämlich nicht an die Variablen ran…

Moin,

zwar schon ein wenig älter aber ich hab das gerade erfolgreich im neuen Pluginsystem einsetzen können.

Danny