Theme Einstellungen Exportieren [kostenlos | Open Source]

[size=200]Theme Konfiguration Im- und Export[/size] Dieses Plugin fügt einen neuen Button “Im/Export” in die Theme Einstellung hinzu. Damit kann man einfach die (Farb-) Konfiguration eines Themes in ein anderes übernehmen.

[size=200]Download[/size] Download Version 1.0.0 Einfach .zip Datei downloaden und über den Theme Manager hochladen. [size=90] Alternativ: Zum SourceCode auf GitHub[/size] Dieser Thread hat mich an Probleme erinnert, mit denen ich selbst oft konfrontiert werde: [list] [*] Man hat einen LiveShop und möchte die gleichen Theme Einstellung auf der Dev Umgebung[/*] [*] Man erstellt sich ein Theme, das von Responsive ableitet, möchte jedoch die Farbkonfiguration von Responsive behalten.[/*] [*] Man möchte einfach mal eine neue Farbkonfiguration ausprobieren und die ursprüngliche “sichern”[/*] [*][size=50]Ein Kunde ändert wild die Farbeinstellung und schafft es irgendwie das Theme zu zerschießen[/size][/*][/list] Dafür gibt es nun Abhilfe mit diesem kostenlosen Shopware 5 Plugin: Theme Export :wink:

Cool :slight_smile: Sicherlich etwas was in den Shopware Core gehört :wink: :thumbup:

Das Plugin ist super! 1000 Dank dafür!

Ich gebe Shopwareianer recht - das sollte doch in den Core!

 

Version 1.1.0

Nachdem mich der gute Shyim etwas mit seinem Issue auf Github getrollt hat  Sticking-out-tongue und ich noch ein paar Ideen für das Plugin hatte gibt es nun Version 1.1.0:
Neue Features:

1. CLI Unterstützung:
Mit den zwei Commands sw:theme:export:configuration und sw:theme:import:configuration kann eine beliebige Theme Konfiguration schnell und einfach ex-/importiert werden. Dabei gibt es Redirect Unterstützung:

# Export
$ ./bin/console sw:theme:export:configuration Responsive Deutsch > theme.config
# Import
$ ./bin/console sw:theme:import:configuration Responsive Deutsch < theme.config

Das kann auch für Deployment ganz praktisch sein. Ihr könnt nun die Theme Einstellungen lokal exportieren und per Skript hochladen, importieren und mit sw:theme:cache:generate direkt das Theme selbst kompilieren. 

2. Ex- / Import als Dateien
Im Backend kann nun die Konfiguration als Datei heruntergeladen bzw. hochgeladen werden. So ist das Ausprobieren von neuen Konfigurationen noch einfacher, da man nicht selbst neue Dateien anlegen muss und nichts mehr hin und her kopiert werden musss. Außerdem braucht man keine Angst mehr zu haben, dass der Browser wegen zu langen JSON Strings einfriert.

3. Neue Service
Ja ich weiß, dass es bereits einen Theme-Service gibt mit dem man auch Konfigurationen Im- und Exportieren kann. Der ThemeImportExportService ist jedoch speziell auf dieses Thema ausgelegt. Solltet ihr ein Plugin entwickeln ( Beispielsweise eine Theme für den Community Store ) kann direkt eine Basiskonfiguration vorinstalliert werden. Kein Umweg mehr über die Konfigurationsvorlagen. Ein Beispiel gibts auf Github.

Download

4 „Gefällt mir“

Hallo Simon,

ich habe das Plugin über den PluginManager installiert und aktiviert - leider erscheint der Button Ex/Import nicht im Theme-Manager. Was muss ich noch machen um das Plugin zum Laufen zu bekommen?

Danke!

Hi Johanna,

den Cache hast du geleert? ( Wird man nach der Installation ja gefragt. Evtl. nochmal leeren kann nicht schaden ). Danach das Backend erneut laden. Dann sollte der Button unten links erscheinen sobald du im Theme Manager auf “Theme konfigurieren” klickst (nicht im Hauptfenster). 

Viele Grüße

Hallo Simon, danke für die schnelle Antwort. Ich bekomme den Button nach Cache Leerung nun angezeit, allerdings wird die unten eingefügte Fehlermeldung angezeigt. Was nun? Danke und sorry für die Umstände!

 

Ups! Ein Fehler ist aufgetreten!

Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.

The provided CSRF-Token is invalid. If you’re sure that the request should be valid, the called controller action needs to be whitelisted using the CSRFWhitelistAware interface. in engine/Shopware/Components/CSRFTokenValidator.php on line 118

Stack trace:

 #0 [internal function]: Shopware\Components\CSRFTokenValidator-\>checkBackendTokenValidation(Object(Enlight\_Controller\_ActionEventArgs)) #1 engine/Library/Enlight/Event/Handler/Default.php(91): call\_user\_func(Array, Object(Enlight\_Controller\_ActionEventArgs)) #2 engine/Library/Enlight/Event/EventManager.php(214): Enlight\_Event\_Handler\_Default-\>execute(Object(Enlight\_Controller\_ActionEventArgs)) #3 engine/Library/Enlight/Controller/Action.php(143): Enlight\_Event\_EventManager-\>notify('Enlight\_Control...', Object(Enlight\_Controller\_ActionEventArgs)) #4 engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight\_Controller\_Action-\>dispatch('exportAction') #5 engine/Library/Enlight/Controller/Front.php(223): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #6 engine/Shopware/Kernel.php(177): Enlight\_Controller\_Front-\>dispatch() #7 vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #8 engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #9 vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #10 engine/Shopware/Components/HttpCache/AppCache.php(103): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>pass(Object(Symfony\Component\HttpFoundation\Request), true) #11 shopware.php(113): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #12 {main}

 

Wir bekommen den gleichen Fehler

Ja da habt ihr alle Recht. Sticking-out-tongue  Nun ist das Plugin auch mit der neusten Shopware Version kompatibel ( 5.0.0 - 5.2.9 )

Download Version 1.1.1

Die Version kann einfach im Plugin Manager hochgeladen werden. Danach den Update Button im Plugin Manager klicken, Cache leeren und das Backend neuladen.
Neben dem CSRF-Bugfix sind noch kleine Anpassungen bei den Textbausteinen und Kommandobeschreibungen dazu gekommen.

Viel Spaß damit  Wink

1 „Gefällt mir“

Hallo simkli,

sehr schoenes Plugin und super nuetzlich. Funktioniert ohne Probleme auch in 5.2.16. 

Vielen Dank!

 

Gruß

8mylez

Super, danke schön!

 

Vielen Dank für die Bereitstellung.   Thumb-Up 

Auf den ersten Blick alles sauber ex- und importiert in Version 5.2.22

 

Gruß, Markus

Einfach TOP!!!

Läuft auf v5.2.27 ohne Probleme.

Schade das man es nur einmal kurz braucht, 

  1. install Plugin
  2. import/export Theme
  3. deinstall Plugin

Tolle Arbeit, danke.  Thumb-Up

@Shopwareianer schrieb:

Cool :) Sicherlich etwas was in den Shopware Core gehört ;) :thumbup:

Der Wink mit dem Zaunpfahl ist angekommen Wink Shopware Issuetracker

Viele Grüße,
Stephan Pohl  Shopware 

Super Sache - funktioniert nur leider nicht mehr mit 5.4.4

Folgender Fehler wird beim Export geworfen:

The provided CSRF-Token is invalid. If you’re sure that the request to path „/backend/ThemeImportExport/export?theme=24&shop=1“ should be valid, the called controller action needs to be whitelisted using the CSRFWhitelistAware interface. in engine/Shopware/Components/CSRFTokenValidator.php on line 109

Hi @magnolia4‍ ,

ich habe es eben mit Shopware 5.4.5 getestet und konnte keinen Fehler feststellen. Allerdings nicht via Drag&Drop. Hast du es mal mit dem Dateiauswahlbutton versucht?

Falls das nicht klappt, kannst du es mal in einem anderen Browser testen?

Viele Grüße

selbe hier

SW5.4.5

keine Probleme

1 „Gefällt mir“

@simkli‍

Leider wirft das Plugin immer nur einen Fehler. Hier mal die Meldung von der Konsole des Browsers:

„Ext.JSON.decode(): You’re trying to decode an invalid JSON String: 
400 Bad Request
nginx“

Hi @naturdrogerie‍,

sorry für die späte Antwort. Wann genau tritt dieser Fehler auf? Bzw. was hast du genau zuvor getan, bevor der Fehler aufgetreten ist?
Könntest du noch im Netzwerk-Tab der Entwicklertools nachsehen, was die Antwort (“Response”) auf die Ajax-Anfrage war (ggf. eine Fehlermeldung bitte hier posten)?
https://developers.google.com/web/tools/chrome-devtools/network-performance/reference#preview

Desweiteren: Welche Shopware-Version setzt du genau ein? Und mit welchem Browser arbeitest du?

Viele Grüße

Wow, herzlichen Dank, das hat uns gerade sehr viel Arbeit erspart - wir hatten Konfigurations-Änderungen an einem gekauften Theme vorgenommen und nachträglich ein Child-Theme davon abgeleitet - dadurch waren die Konfigurationsanpassungen nicht im Child-Theme - mit diesem Plugin war alles erledigt. Danke!

Hätten auch dafür bezahlt - sowas gehört doch in den Store - oder in den Core :slight_smile: