Cache für eigene Smarty-Funktion invalidieren

Wir haben eine kleine Funktion, die abhängig von einigen Faktoren das Lieferdatum für einen Artikel berechnet (Anzahl offener Bestellungen, Feiertage etc.). Klappt auch prima - aber nur einmal, weil offenbar nach erstmaliger Erzeugung der Detailseite diese gecached wird.

Nun habe ich einiges über das Caching gelesen (auch hier im Forum) - bin aber immer noch nicht schlau. Wenn ich alles recht verstehe, dann wird die ganze Detailseite gecached und nicht die Smarty-Funktion. Ich müsste also die ganze Seite aus dem Cache rausnehmen. Abgesehen davon, dass ich nicht weiß, wie das ginge, wäre das auch für die Performance nicht so gut.

Die andere Möglichkeit wäre es wohl, ein Widget für die Anzeige des Lieferdatums zu schreiben. Richtig? Zwar weiß ich auch nicht, wie das ginge - aber mir würde schonmal helfen, wenn mir jemand bestätigen könnte, dass ich bisher richtig liege - oder allenfalls ein einfacher Kniff reichen würde, um die beschriebene Berechnung des Lieferdatums zu erreichen.

Besten Dank.

Ja, du müsstest die Information per Widget nachladen und dann in das Template rendern.

Typischerweise hat man dann einen Controller, der die Lieferzeit zurückgibt und das Javascript rendert diese Information dann ins Template.

Ähnliches Konzept wie bspw. bei den Einkaufswelten

Schau dir mal den Smarty {action) Tag an.