Date field löschen nach abgelaufene Datum

am 27.01.2012 - 10:09 Uhr in
Hallo, isch habe folgendes Problem.
Ich lese mit Views ein datumsfeld aus das mehrere Datums hatt.
ich möchte jetzt dass das datum das abgelaufen ist gelöscht wird.
Gibt es dazu eine Lösung?
so sieht das ganze aus:
kurs: Basic
Datum:
- 12.01.2012 <-- das müsste jetz automatisch gelöscht werden
- 28.3.2012
- Anmelden oder Registrieren um Kommentare zu schreiben
Das sind events?
am 27.01.2012 - 11:01 Uhr
Hier würde sich doch anbieten, jedes Event in einem eigenen Node zu führen.
Für Listen gibt es Views, mit dem calender-module kann man sie in einer Kalenderansicht darstellen, und wenn alles vorüber ist, über einen views basierten löschaufruf wieder entfernen oder archivieren lassen.
mein problem ist nur das dass
am 27.01.2012 - 13:25 Uhr
mein problem ist nur das dass ich immer 3 Kurse habe die haben.
die datums sind aber beliebig und dass heisst dass ich z.b. beim 1. kurs 20 daten habe. möchte aber dass nur einmal der kursname steht und dann die ganzen daten. die daten sollten dann automatisch verschwinden sobald das datum abgelaufen ist.
ein kurs hat noch einen ort und einen beschreibung text. dass dann in einer tabelle ausgegeben wir also ca. so. nur jetzt müssten noch die daten verschwinden sobald sie abgelaufen sind:
Basic Kurs
Berlin
Beschreibung...........
Datums felder
....
....
...
...
was noch dazuzusagen ist dass es eine View page ist.
die dann in einer tabelle ausgegeben wird
mfg
whmedia
weiß keiner eine lösung?
am 02.02.2012 - 11:01 Uhr
weiß keiner eine lösung?
Natürlich könnte man
am 02.02.2012 - 11:56 Uhr
die abgelaufenen Daten mit einem unsichtbaren Skrip in der Datenbank löschen lassen.
Das könnte über Cron gesteuert werden.
Hierbei muss man genau wissen, was man tut.
Das geht aber komplett an Drupal vorbei.
Dennoch solltest du die Datenbank API nutzen.
Damit du keine Überraschungen erlebst, musst du aber für die Anzeigen, die solche Daten enthalten, das Caching ausschalten.
Script
am 02.02.2012 - 13:34 Uhr
Und wie könnte so ein script aussehen?
Das würde dann bedeuten dass man eine node mit mehreren daten macht und die abgelaufenen werden mittels des Scriptes gelöscht?
mfg
vergangene Daten mit Filter >= now ausfiltern
am 03.02.2012 - 00:09 Uhr
Hallo whmedia,
die vergangenen Daten kannst Du mit Filter Kriterien auf dein datumsfeld >= now ausfiltern, dann sind sie nicht mehr zu sehen.
Willst Du sie aus der Node löschen, nähme ich Rules mit dem Rules Scheduler (vielleicht auch nur, weil ich cron noch nie benutzt habe).
Ich meine auch bei nodeone.se winen screencast gesehen zu haben der mit dem Scheduler Artikel published und unpublished, finde es auf Anhieb nicht.
Auf die schnelle gibt es erstmal Rules mit einem Kapitel zum Scheduler: http://dev.nodeone.se/en/learn-the-rules-framework
LG
maxim
Die Daten müssen ja irgendwo stehen
am 03.02.2012 - 18:41 Uhr
Ich habe noch nicht verstanden, wie sie erfasst werden.
Jedoch steht bei Drupal (fast) alles in der Datenbank.
Wenn man genau weiß, wo diese Daten stehen, kann man sie dort auch löschen.
Das ist zwar nicht Systenkonform, aber, wenn man weiß was man tut, sehr effektiv.
Generell sollte die Datenbank einer Anwendung, was immer es sei, mit größter Vorsicht behandelt werden.
Ansonsten spricht nichts dagegen, eine Anwendung über die Daten von außen zu manipulieren.
Da Drupal die Anzeige von Seiten zwischenspeichern kann (caching), ist dafür zu sorgen, daß dies nicht passiert, wenn Daten außerhalb manipuliert wurden.