Ich möchte OXID um ein Widget erweitern, dass a) mit verschiedenen Parametern aufgerufen wird und b) je nach Parameter unterschiedliche Templates einbinden soll. Wie gehe ich das am besten an?
Ich vermute, man kann im Template einfach Variablen setzen (die Parameter) und dann ein entsprechendes Template includen. Das wäre für mich aber nur eine unsaubere Notlösung.
Schöner fände ich z.B. eine Smarty-Funktion, die mit bestimmten Parametern aufgerufen wird und die dann ein Template rendert. Ist so etwas in OXID vorgesehen? Oder leicht umsetzbar? Oder gibt es einen anderen guten Weg?
…habe gerade gesehen, dass man dem Smarty-Befehl include ja auch Parameter übergeben kann. Ich denke, dann werde ich eine Smarty-Funktion schreiben, die als Wrapper für include fungiert…
Bin gerade dabei, das Ganze so aufzubohren, dass man das Widget-Template im Modul als Block definieren kann. Ich finde das reichlich dämlich, dass man in einem Modul keine Templates definieren kann. Falls ich da nicht weiter kommt, werde ich einmal schauen, ob ich ein Modul schreiben kann, das in allen Modulen nach Templates sucht, falls diese im normalen out-Verzeichnis nicht irgendwo definiert sind.
Passiert nichts. Template-Array in der Datenbank habe ich gelöscht, wenn alles geklappt hat. Auch habe ich hier im Forum von einem Bug diesbezüglich gelesen, dr PHP 5.4 betrifft, habe inzwischen aufgrund der PE-Version ohnehin auf 5.3 “downgegraded”. Was mache ich falsch?