Hallo liebe Shopware Programmierer,
Hier mal ein Exote, wir brauchen "dynamische" Daten in einer Shopseite, also beispielsweise eine dynamische Generierung von Eckdaten in den ABGs, abhängig vom Datenbestand des Shops. Dies würde aktuell allein schon daran scheitern, dass man nur statisches HTML benutzen kann.
Ein möglicher (und mMn eleganter) Workaround dazu wäre:
1. Die Shopseiten Smarty-Fähig zu machen
2. Das "Action Plugin" von Shopware benutzen, und sich die Daten aus einem Widget laden
Punkt 1. lässt sich effektiv mit einer einzigen Zeile Quelltext bewerkstelligen (abgesehen von dem Modul drumherum):
Dieser Fix funktioniert auch ganz gut, mann auf die Smartyplugins von Shopware wunderbar zugreifen, Custom Templates einbinden usw. usf.
ABER: Beim Versuch via. {action module=widgets....} zu benutzen, wird die Seite einfach weiß, ohne Fehler.
Eine etwas tiefere Tour mit Debugger hat mich dann auf eine mögliche Fehler Quelle geführt in Dispatcher/Default.php um Zeile 540
Eine (eher dumme) Idee war es bisher, den Buffer kurzzeitig vor dem View()->fetch() zwischen zu speichern und wieder via ob_start() und echo $bufferContent wieder zu setzen, die Seite blieb aber hemmungslos weiß wie vorher...
Jemand Ideen wie man hier vorran kommt?
lg
japanwelt
Hier mal ein Exote, wir brauchen "dynamische" Daten in einer Shopseite, also beispielsweise eine dynamische Generierung von Eckdaten in den ABGs, abhängig vom Datenbestand des Shops. Dies würde aktuell allein schon daran scheitern, dass man nur statisches HTML benutzen kann.
Ein möglicher (und mMn eleganter) Workaround dazu wäre:
1. Die Shopseiten Smarty-Fähig zu machen
2. Das "Action Plugin" von Shopware benutzen, und sich die Daten aus einem Widget laden
Punkt 1. lässt sich effektiv mit einer einzigen Zeile Quelltext bewerkstelligen (abgesehen von dem Modul drumherum):
//... $smartified = $subject->View()->fetch('string:' . $staticPage['html']); $subject->View()->sContent = $smartified; //.....als Ersatz für Shopware_Controllers_Frontend_Custom::indexAction
Dieser Fix funktioniert auch ganz gut, mann auf die Smartyplugins von Shopware wunderbar zugreifen, Custom Templates einbinden usw. usf.
ABER: Beim Versuch via. {action module=widgets....} zu benutzen, wird die Seite einfach weiß, ohne Fehler.
Eine etwas tiefere Tour mit Debugger hat mich dann auf eine mögliche Fehler Quelle geführt in Dispatcher/Default.php um Zeile 540
if (empty($disableOb)) { $content = ob_get_clean(); $response->appendBody($content); }Ich gehe davon aus, dass View()->fetch('string:...') da mit in den Buffer greift, dieser jedoch vorher schon geleert wird.
Eine (eher dumme) Idee war es bisher, den Buffer kurzzeitig vor dem View()->fetch() zwischen zu speichern und wieder via ob_start() und echo $bufferContent wieder zu setzen, die Seite blieb aber hemmungslos weiß wie vorher...
Jemand Ideen wie man hier vorran kommt?
lg
japanwelt