[gelöst] Views - Jahresterminplan, Kontextfilter hat keine Wirkung
am 10.02.2017 - 10:57 Uhr in
Hallo,
versuche einen Jahresterminplan zu erstellen, der alle Termine des aktuellen und des nächsten Jahres chronologisch anzeigen soll. Dazu habe ich den Inhaltstyp Datum angelegt. Im Kalender werden alle Termine korrekt angezeigt. Wenn ich versuche einen View zu erstellen, der alle Nodes vom Inhaltstyp Datum chronologisch anzeigt und bei dem der Kontextfilter auf Inhalt:Datum mit folgendem Filter
Datum: Jahresbereich
-0:+1
gesetzt ist, werden alle Termine angezeigt, auch die aus 2016. Ganz egal wie ich den Filter verändere, es werden immer alle vorhandenen Termine angezeigt.
Erwähnnen möchte ich noch, dass die Website Anfang 2016 von Drupal 6 auf Drupal 7 migriert wurde, die weitestgehend problemlos lief. Aber alle unter Drupal 6 eingegebenen Termine haben die Migration nicht überlebt. Dieses Problem zu lösen war mir zu viel Aufwand und da es sich um vergangegene Termine handelte, nicht wirklich wichtig.
Daher habe ich das Problem erst 2017 entdeckt. Bei Drupal.org habe ich das Problem schon vor mehreren Wochen geposted, bislang aber noche keine Antwort erhalten. Ich hoffe hier kann mir jemand weiterhelfen.
Im Anhang sind 2 Screenshots zu diesem View. Hoffe, ich habe das detailliert genug beschrieben.
Gruß Waldemar
Anhang | Größe |
---|---|
Terminplan1.JPG | 54.97 KB |
Terminplan2.JPG | 51.45 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben
Filter statt Kontextfilter
am 27.02.2017 - 20:08 Uhr
Wenn du generell in deiner View nur alle Termine + - 1 Jahr sehen willst, frage ich mich, warum du das mit Kontextfilter umsetzen willst. Ein Kontextfilter ist ein dynamisches Argument, das übergeben werden muss, damit es Einfluss nimmt.
Schmeiss den Kontextfilter raus und mache unten Links bei den Filterktiterien den Datumsfilter mit relativem Datumsbereich zwischen "-365 day" und "+365 day" rein, dann geht das.
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de
Filter zeigt auch nicht die gewünschte Wirkung
am 28.02.2017 - 21:58 Uhr
Erstmal vielen Dank für Deinen Tipp. Leider führt Dein Tipp bislang nicht zum gewünschten Erfolg, egal welche Einstellung ich beim Filter verwende. Hab mal ein kurioses Beispiel angehängt. Da werden nur (Mehrfach-)Termine angezeigt, obwohl für dieses Kriterium kein Termin vorhanden ist. (Kontextfilter habe ich übrigens entfernt)
Auch Dein Vorschlag mit, in meinem Fall, Datumsbereich zwischen "-50 day" und "+365 day", hat zur Folge, dass wieder alle Termine angezeigt werden, auch die aus 2016. Egal wie ich die Werte verändere, es hat keine Auswirkung. Wie vormals beim Kontextfilter werden alle vorhandenen Termine angezeigt. Hast Du noch eine Idee?
Der Filter, den Du verwendest
am 01.03.2017 - 08:52 Uhr
Der Filter, den Du verwendest ist falsch. Du mußt nicht mit dem Delta sondern mit dem Feld selbst arbeiten. Die Deltas sind nur die Indexwerte des Arrays und nicht die Values. Also vergleichst Du eine Integer mit einem Datum. Was da als Ergebnis erscheint, ist für mich nicht vorhersehbar und offensichtlich auch nicht das, was Du erwartest.
Nach einigem Nachdenken: die Array-Indizes sind vermutlich kleiner als jedes Datum. Ich weiß jetzt nicht, bei welchem Datum die Datums-Werte ins Negative umspringen (das erste Bit wird gesetzt), also eine negative Zahl geben.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Problem gelöst!
am 01.03.2017 - 10:47 Uhr
Erstmal vielen Dank an alle, die sich an der Lösung beteiligt haben.
Mit der folgenden Einstellung funktioniert es jetzt:
Datum: Datum (node) (Inhalt: Datum (field_date) = now) | Einstellungen
Startjahr: -0 Jahre von heute an
Endjahr: +1 Jahre von heute an