[gelöst] Zeitgesteuertes darstellen von Benutzern in Block
am 21.09.2011 - 12:22 Uhr in
Guten Tag miteinander,
ich stehe zur Zeit vor einem Problem, bei welchem ich eine andere Sichtweise benötige.
Undzwar besteht folgendes Szenario:
(7.8-Core, Views, Rules, Scheduled actions)
- Benutzer besitzen ein eigenes Profil. Dieses Profil ist kein "neuer" Content Type, sondern ein "richtiges" Benutzerprofil.
- Jeder Benutzer kann Userpoints sammeln.
- Einmal in x Wochen soll der Benutzer mit den meisten Punkten für einen Tag in einem Block dargestellt werden.
Mein Problem besteht jetzt aus folgendem:
1. Wie limitiere ich Views auf ein Ergebnis?
2. Wie soll das ganze Zeitgesteuert passieren? -> Views in Block darstellen, welcher zeitgesteuert ein/ausgeblendet wird.
3. Wie wird der Vorgang ("alle x wochen") wiederholt? (Date-Repeat)
Was ich bisher probiert habe:
Scheduler Modul: Es scheint, als ob man den Vorgang, "alle x Wochen" nicht ohne eigenes Eingreifen automatisieren kann; außerdem bezieht sich das nur auf Content-Types, bei welchen der User die Daten selber wählen muss.
Scheduled-Actions: Hier bestehen zwar mehr Möglichkeiten, als beim Scheduler-Modul, allerdings ist es nicht möglich ein Block, oder View ein/auszublenden
Problem bei beiden Modulen: Keine Wiederholung der Ereignisse (Oder liege ich hierbei falsch?)
Ich bin über alle Hinweise Dankbar und auch offen für vollkommen andere Herangehensweisen.
Mit freundlichem Gruß
Hoamer
- Anmelden oder Registrieren um Kommentare zu schreiben
Zu 1: Nur ein Ergebnis zeigen
am 21.09.2011 - 12:42 Uhr
Zu 1: Nur ein Ergebnis zeigen lassen (unter Seitennavigation)
Zu 2: Block über die Sichtbarkeitssteuerung zeigen
Zu 3: Sichtbarkeit über php gesteuert und dabei z.B. den Tag des Monats abfragen. if 1 return True else return false. (mußt Du allerdings richtig coden, das soll nur das Prinzip zeigen)
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Vielen Dank, das hört sich
am 21.09.2011 - 13:28 Uhr
Vielen Dank, das hört sich nach einer guten Lösung an.
Edit: Obwohl es eine teils etwas gefrickelte Lösung ist, habe ich mich zu folgender Lösung entschieden: Wie empfohlen, verwende ich die Validierung per PHP in einem Block. Hier frage ich das Datum mit "date("ymd")" ab und vergleiche das mit einer im Code vordefinierten, Liste an werten. Stimmt einer dieser Werte überein, schmeisse ich ein TRUE zurück.