Hi Leutz, ist es möglich SmartyBC in Shopware 4 einzubinden. Die Klasse ist noch vorhanden wie ich eben feststellen durfte! Vielen Dank Elhedi
Hey, wofür benötigst du das denn?
Hallo, ich klinke mich mal mit der gleichen Frage ein und erkläre auch gleich, wozu ich es benötige: Ich habe gerade erst angefangen mit shopware zu experimentieren und mir anzuschauen, ob ich damit klar komme. Ich suche eine Shopsotware, die ich eigenstädig anpassen kann. Meine php-Kenntnisse sind solide, allerdings habe ich keine Ahnung von Smarty. Ich würde nun gerne ein paar Zusatzfunktionen programmieren (z.B. die Inhaltsstoffe meiner Artikel anzeigen lassen und das, was ich bastel soweit wie möglich von dem Original Quellcode trennen. Einerseits, weil ich den Code dann zu 100% verstehe, andererseits, weil ich Angst habe die Grundfunktionen zu zerstören). Das, was mein Skript zurückgibt muss ich dann natürlich im Template einbinden. Ich würde also gerne ganz einfach so etwas machen wie: {\* Change KS-company \*} {include\_php file="./ksc/shopcategory.php"} {\* Change KS-company \*}
Lediglich eine Zeile füge ich dem Shopware-Code hinzu. Den Rest leg ich in einen eigenen Ordner und habe so eine saubere Trennung. Problem: Das Einbinden funktioniert nicht. Es erscheint dann die Fehlemeldung: {include_php} is deprecated, use SmartyBC class to enable Deswegen wüsste ich gerne wie ich entweder SmartyBC einbinde, oder wie ich mein Problem eleganter lösen kann und dabei weiterhin meinen Code vom Shopware Basis-Code trennen kann. Vielen Dank! mfg, David
Hallo DavidSchmitz, Shopware hat genau für diesen Zweck ein Plugin-System. Das eigene Programm läuft unabhängig und weist dem View (Smarty) das Ergebnis als Variable zu. Das genannte Beispiel mit Zusatzangaben zu einem Artikel würde ich aber über Attributfelder der Artikel lösen. Grundsätzlich kann man auch eigene Erweiterungen für Smarty schreiben, die man dann aufrufen kann. Aber ich denke, Plugins sind der richtige Weg. Sinn und Zweck einer Template-Engine ist es doch, den eigentlichen Programm-Code von der Ausgabe zu trennen. Damit kann man in der Frontendentwicklung keine Sicherheitslücken im Backend erzeugen. Einbinden von PHP-Skripten, die z. B. Änderungen an der Datenbank vorhnehmen, unterlaufen dieses Konzept. Gibt eine Anleitung zur Plugin-Entwicklung mit einem Gerüst für ein eigenes Template. Viel Erfolg