Au weia....

Habe gerade etwas entdeckt, das meine Begeisterung für Shopware doch etwas dämpft: die Sprachtexte werden offenbar in der Datenbank gespeichert, und müssen wohl über das Backend verwaltet werden… Das ist so mühsam und umständlich, da neue Texte einzufügen oder bestehende Texte zu ändern, oder gar neue Sprachpakete zu definieren! Für Shopselbstbastler ist das ja vielleicht ganz praktisch… Aber für Agenturen ist das aber maximal ineffektiv, wenn man neue oder geänderte Texte nur über die Datenbank einpflegen kann. Da ist natürlich eine „XCOPY“-Distribution das Ziel, bei der man dem Kunden ein Template Package geben kann, das er einfach in seinen Shop kopieren kann… http://www.shopware.de/wiki/Textbaustei … l_219.html Ganz, ganz übel, das… Gibt es keinen besseren Weg, das über Textdateien zu organisieren?

Moin, der Artikel, den du da verlinkt hast, bezieht sich auf 3.0.5. Also standardmäßig werden die Textbausteine in der Datenbank gespeichert, das bietet aber in Kombination mit 3.5.0 einige Vorteile. Der einzige Nachteil ist, dass man die Bausteine nicht einfach via Datei-Upload ersetzen kann, aber auch das ist nur bedingt so. 1.) Du kannst die Textbausteine direkt im Template erstellen, ohne in die Datenbank oder ein zusätzliches Textfile zu müssen Beispiel: {s name=“NeuerBaustein”}Inhalt{/s} Wenn du jetzt das Template neu aufrufst, wird automatisch der Textbaustein “NeuerBaustein” mit dem Content “Inhalt” in die Datenbank eingetragen. OHNE das du irgendetwas manuell anpassen müsstest. Da die Textbausteine mit Namespaces arbeiten, kannst du auch problemlos die Bausteine isolieren, die deine Template-Anpassung mit sich gebracht haben. 2.) Du kannst bestehende Bausteine im Template bearbeiten Einfach {s name"BestehenderBaustein" force}Neuer Inhalt{/s} Reload - Inhalt wird ersetzt! Auch hier musst du nicht parallel im Backend oder in einer Textdatei arbeiten. 3.) Um das zu automatisieren, würde man statt einer Textdatei, einfach ein kleines Plugin in euer Template-Package integrieren. In der Installationsroutine des Plugins kann man die Bausteine aus eurem Template-Namespace einfach importieren. 4.) Der neue Textbaustein-Manager ist deutlich umfangreicherer, als die 3.0.5 Version - hier kannst du alle modifizierten Bausteine einfach per SQL oder CSV exportieren und diese entweder per Plugin, oder Datenbank oder über das Modul in andere Systeme übernehmen. Das Verwaltungsmodul bietet darüber hinaus, noch einige nette Zusatzfeatures. Man kann sich z.B. die Bausteine anzeigen lassen, die in einer bestimmten Sprache noch nicht übersetzt wurden, oder aber Bausteine aus einem bestimmten Namespace einfach duplizieren. Ansonsten können wir auch mit relativ wenig Aufwand ein Standard-Plugin realisieren, mit dem Agenturen während der Realisierungsphase die Bausteine direkt in einer Textdatei gesammelt editieren können - diese würden dann mit der Datenbank synchronisiert. Zukünftig können wir mit Sicherheit auch das Laden von Bausteinen aus Textdateien realisieren, das ist ja nicht schwierig umzusetzen - der Datenbankweg hat aber halt auch einige Vorteile :wink:

P.s. Ich wollte jetzt sowieso ein Tutorial zur Plugin-Erstellung schreiben, ich nehme dieses Thema dann einfach mal als Aufhänger…

[quote=“Stefan Hamann”]Moin, der Artikel, den du da verlinkt hast, bezieht sich auf 3.0.5. Also standardmäßig werden die Textbausteine in der Datenbank gespeichert, das bietet aber in Kombination mit 3.5.0 einige Vorteile. Der einzige Nachteil ist, dass man die Bausteine nicht einfach via Datei-Upload ersetzen kann, aber auch das ist nur bedingt so. 1.) Du kannst die Textbausteine direkt im Template erstellen, ohne in die Datenbank oder ein zusätzliches Textfile zu müssen Beispiel: {s name=“NeuerBaustein”}Inhalt{/s} Wenn du jetzt das Template neu aufrufst, wird automatisch der Textbaustein “NeuerBaustein” mit dem Content “Inhalt” in die Datenbank eingetragen. OHNE das du irgendetwas manuell anpassen müsstest. Da die Textbausteine mit Namespaces arbeiten, kannst du auch problemlos die Bausteine isolieren, die deine Template-Anpassung mit sich gebracht haben. 2.) Du kannst bestehende Bausteine im Template bearbeiten Einfach {s name"BestehenderBaustein" force}Neuer Inhalt{/s} Reload - Inhalt wird ersetzt! Auch hier musst du nicht parallel im Backend oder in einer Textdatei arbeiten. 3.) Um das zu automatisieren, würde man statt einer Textdatei, einfach ein kleines Plugin in euer Template-Package integrieren. In der Installationsroutine des Plugins kann man die Bausteine aus eurem Template-Namespace einfach importieren. 4.) Der neue Textbaustein-Manager ist deutlich umfangreicherer, als die 3.0.5 Version - hier kannst du alle modifizierten Bausteine einfach per SQL oder CSV exportieren und diese entweder per Plugin, oder Datenbank oder über das Modul in andere Systeme übernehmen. Das Verwaltungsmodul bietet darüber hinaus, noch einige nette Zusatzfeatures. Man kann sich z.B. die Bausteine anzeigen lassen, die in einer bestimmten Sprache noch nicht übersetzt wurden, oder aber Bausteine aus einem bestimmten Namespace einfach duplizieren. Ansonsten können wir auch mit relativ wenig Aufwand ein Standard-Plugin realisieren, mit dem Agenturen während der Realisierungsphase die Bausteine direkt in einer Textdatei gesammelt editieren können - diese würden dann mit der Datenbank synchronisiert. Zukünftig können wir mit Sicherheit auch das Laden von Bausteinen aus Textdateien realisieren, das ist ja nicht schwierig umzusetzen - der Datenbankweg hat aber halt auch einige Vorteile ;)[/quote] Das hört sich dann doch schon viel freundlicher an…

[quote=“Stefan Hamann”]P.s. Ich wollte jetzt sowieso ein Tutorial zur Plugin-Erstellung schreiben, ich nehme dieses Thema dann einfach mal als Aufhänger…[/quote] …und das auch… Der Support ist schon einsame Spitze, und meist gibt es auch gleich einen Lösungsansatz. Vorbildlich!

http://www.shopware.de/wiki/_detail_523.html

[quote=“Stefan Hamann”]http://www.shopware.de/wiki/_detail_523.html[/quote] Wow, das geht ja “ratzfatz”! So langsam werdet ihr mir doch ein wenig unheimlich… :wink: