Hallo,
ich stehe ein wenig auf dem Schlauch: Ich betreibe für einen Kulturverein einen kleinen Ticketshop (Überweisung und PayPal). Ich habe das event-Template so angepasst, dass die notwendigen Daten per urlencode an das Formular "Warenkorb" übertragen werden. Der Link
PHP-Code:
<a href="warenkorb.html?day=<?php echo $eventdat; ?>&event=<?php echo urlencode(str_replace('"','', $this->title));// entfernen des " wenn ueber Tastatur eingegen wurde (shift + 2)?>&eventdatum=<?php echo urlencode($this->date);?>&eventbeginn=<?php echo urlencode(date("H:i", $this->startTime));?>&eventpreis=<?php echo urlencode($this->kgs_vorverkauf)?>&eventort=<?php echo urlencode($this->location)?>&eventbild=<?php echo urlencode($this->src)?>&eventid=<?php echo urlencode($this->id)?>&eventpreis=<?php echo urlencode($this->kgs_vorverkauf)?>">Karten online kaufen</a>
Zusätzlich habe ich in der DB bei tl_calendar_events ein zusätzliches Feld "sperre" eingerichtet, dass mit einer "1" belegt wird, wenn die Veranstaltung ausverkauft ist. Diese Feld wird im event-Template abgefragt und bei "1" wird der Link für den Warenkorb erst gar nicht generiert.
Jetzt kommt das Problem bzw. die "Sicherheitslücke": Wenn ich den Verkauf stoppe, dann kann man danach, wenn man sich den ursprünglichen Link gespeichert hat oder er in der Vervollständigung des Browsers noch vefügbar ist, trotzdem noch auf den Warenkorb zugreifen und Karten kaufen (so vor kurzem erstmals geschehen).
Was hier fehlt, ist eine aktuelle DB Abfrage über die ID des events, ob das Feld "sperre" auf "1" steht.
Erreichen will ich, dass, wenn das event ausverkauft ist, auf eine Hinweisseite automatisch umgeleitet wird, und das Formular auf der Seite warenkorb.html nicht mehr ausgeführt wird.
Ich habe im Forum schon gesucht, aber nichts passendes gefunden. Ich habe mit dem Modul "Auflistung" experimentiert, dass auch reagiert, aber im zugehörigen Template finde ich keine Möglichkeit, durch eine if-Abfrage auf eine andere Seite zu verlinken oder den Vorgang abzubrechen.
modul.jpg
Vielleicht gibt es ja eine einfache Lösung, dann wäre ich für einen Hinweis dankbar. Denkbar wäre auch ein Kleinstauftrag.
Gruß Georgi
Lesezeichen