
Voraussetzungen
Das Beispiel braucht jQuery. Im Vorlagenshop kommt jQuery aus der WEBSALE Systembibliothek, die zusammen mit ihrer Design-Komponente imhead-Bereich des Templates stehen muss.
Das Beispiel
Der erste Teil läuft im Shop und ermittelt die kürzeste Restzeit, der zweite läuft im Browser und zählt herunter.Countdown für die Restzeit
Countdown für die Restzeit
Wie der Shopteil arbeitet
~DC-Int1~ dient als Zwischenspeicher für die bisher kleinste gefundene Restzeit. Der Ablauf:
~BASKET-PR-OnlinePriceTimeLeft~ liefert die Restzeit in Sekunden. Ist der Preis bereits abgelaufen, gibt es 0 zurück. Das Tag gibt es nur als Einzel-Tag und nur innerhalb einer Position, die tatsächlich einen Online-Preis hat. Außerhalb von {BASKET-PR-OnlinePrice} ist es ungültig.
Ob der Warenkorb überhaupt ein Online-Preis-Produkt enthält, beantwortet {BASKET-HasOnlinePriceProduct} in einem Schritt. Für eine reine Ja-Nein-Frage brauchen Sie die Schleife oben nicht.
Referenz: BASKET-PR-Data · BASKET-PR-OnlinePrice · BASKET-PR-OnlinePriceTimeLeft · BASKET-PR-OnlinePriceTimedOut · DC-CompareDigitLT() · DC-Int1…3()
Wann die Preise wirklich erneuert werden
Der Countdown zeigt an, wann die Preise ablaufen. Er erneuert sie nicht. Erneuert werden sie serverseitig beim nächsten Aufruf des Warenkorbs: Der Shop prüft, ob mindestens ein Online-Preis-Produkt abgelaufen ist, und holt in diesem Fall für alle Online-Preis-Produkte im Warenkorb neue Preise. Deshalb genügt es, die kürzeste Restzeit anzuzeigen. Wie lange ein Online-Preis gilt, stellen Sie in dershop.config ein. Die Restzeit, die ~BASKET-PR-OnlinePriceTimeLeft~ ausgibt, ergibt sich aus dem Zeitpunkt des letzten Abrufs plus dieser Dauer.
Das Listing trägt den HTML5-Doctype zusammen mit charset=iso-8859-1. Übernehmen Sie für einen neuen Shop den Zeichensatz Ihrer übrigen Templates, üblicherweise UTF-8.