Hi zusammen,
hat jemand einen Tip wie man die Lieferzeit vom Cache ausschließen kann? Hintergrund ist, nur als Beispiel, das ab Freitag Mittag eine anderer Lieferzeit angezeigt werden soll.
Im Bearbeitungsmodus funktioniert das wie gewünscht, nur im Produktivmodus wird das alles aus dem Cache gezogen.
Bin für jeden Tip dankbar!
Gruß
Hi,
technisch gesehen kannst du das mit Ajax Requests oder ESI Tags lösen. In der Regel ist das aber nicht die beste Lösung. Änderst du die Lieferzeiten freitags dann in den Artikeln oder per API? Dann sollte die automatische Cache Invalidierung greifen. Ansonsten könnte auch das Leeren des Caches eine Option sein, beispielsweise via Cronjob.
Daniel
[@Daniel Nögel](http://forum.shopware.com/profile/4010/Daniel Nögel “Daniel Nögel”)
Hi danke für deine Antwort! Eigentlich sollte das einfach im Template angepasst werden über
{if $smarty.now|date_format:"%H:%M" < "12:00"}
Lieferzeit: 1-3 Tage
{else}
Lieferzeit: 2-4 Tage
{/if}
aber da greift ja der Cache. An Cache leeren per Cron dachte ich zur Not auch schon.
Hi,
ach, verstehe. Sowas kannst du natürlich am besten über Javascript lösen - d.h. du setzt dir da ein DIV mit einer eindeutigen ID rein und greifst via JS darauf zu und schreibst das jeweils passend um. Wäre jetzt zumindest eine Idee, die unabhängig vom Cache funktioniert.
Daniel
Ah, vielen Dank für den Tip. Über Javascript hatte ich eigentlich schon verworfen, da das in die Bestätigungsmail auch mit rein muss,
aber in der Ordermail greift ja glaube ich der Cache eh nicht. Werds mal probieren. Auf jedenfall vielen Dank!
Hi,
genau, die Informationen im Checkout / auf der Bestellbestätigungs- und Abschlussseite sowie den Bestellbestätigungsmails sind immer ungecacht, da kommst du also gut ran.
Daniel
Hab mir dazu kurz was kleines mit JS geschrieben. Falls es jemand gebrauchen kann.
Verbesserungsvorschläge gerne erwünscht! 
sdfsdfwwwsdsdw
<!--
var currentDate = new Date(),
weekDay = currentDate.getDay(),
Hours = currentDate.getHours(),
onFriday = ((currentDate.getHours() < 12) ? "1-3" : "2-4");
var deliveryDays = new Array(7);
deliveryDays[0] = "1-3";
deliveryDays[1] = "1-2";
deliveryDays[2] = "1-2";
deliveryDays[3] = "1-2";
deliveryDays[4] = "1-2";
deliveryDays[5] = onFriday;
deliveryDays[6] = "2-3";
if (deliveryDays[weekDay] != undefined && deliveryDays[weekDay] != null) {
document.getElementById("deliveryInfo").innerHTML = deliveryDays[weekDay];
}
//-->