In Drupal 7 mit Ansichten ein Datum Modul aktiviert ist , war es ziemlich einfach , eine Ansicht von Datum zu filtern: Die Benutzeroberfläche hat man nur die Möglichkeit , dies zu tun.
In Drupal 8 sind jedoch das Datumsfeld und Ansichten Teil des Kerns, aber wenn Sie ein Datum auswählen Bereich Feld als Filter in Aussicht ist es nicht bietet Ihnen bestimmten Termin Optionen mehr, sondern zeigt nur Optionen für Textfelder Filterung:
Die datumsspezifischen Optionen stehen jedoch für interne Datumswerte wie ´Inhalt: Geändert´ zur Verfügung
Da ich nur bestimmte Knoten mit einem Datum vor oder nach dem tatsächlichen Datum anzeigen möchte, bei denen das Datum in einem benutzerdefinierten Datumsbereichsfeld angegeben ist, entspricht dies nicht meinen Anforderungen.
Wie kann ich eine Ansicht in Drupal 8 nach einem Datumsfeld mit datumsspezifischen Operationen filtern?
Antworten:
Überraschenderweise ist dies mit Drupal 8 noch nicht möglich. Aber es gibt eine lange Geschichte, in der versucht wurde, es zum Laufen zu bringen: https://www.drupal.org/node/2786577 Der letzte Patch , den Sie in diesem Beitrag finden, scheint zu funktionieren. Sie können es mit den folgenden Befehlen herunterladen und anwenden:
Wenn
git
auf Ihrem Server nicht verfügbar, versuchen Sie Folgendes:Um die Patches anzuwenden, müssen Sie
core
zuerst zu dem Ordner navigieren . Beachten Sie, dass Sie diesen Patch erneut anwenden müssen, nachdem Sie ein Core-Update durchgeführt haben. (Das ist zum Kotzen!) Hoffen wir also, dass die Drupal-Götter dies bald in den Kern bekommen werden!quelle
drush updatedb --entity-updates
Ich musste einen Inhaltstyp mit den Auktionsterminen in drei Gruppen einteilen (jetzt online, in Kürze verfügbar und zur Registrierung bereit). Da es sich um mehrere Themen handelte, habe ich ein Plugin geschrieben, das auf diesem Artikel basiert: https://www.webomelette.com/creating-custom-views-filter-drupal-8
Grundsätzlich gilt Folgendes: - Konvertieren Sie die Daten im Feld in lokales Datum und Uhrzeit. - Der Filter verfügt über drei mögliche Einstellungen: "Jetzt online", "Bevorstehend" und "Andere". - Basierend auf den Einstellungen werden der Abfrage die möglichen Where-Klauseln hinzugefügt
Es funktioniert und scheint robust für zukünftige Updates.
quelle
Mit dem Intervallfilter-Plugin können Sie zwei Felder auswählen, die jeweils als Mindest- und Höchstdatum verwendet werden. Dies führt in das Konzept des Bereichs ein. Anschließend können Sie die Ansichten filtern, indem Sie ein Datum angeben, das im Bereich enthalten sein muss oder nicht.
Schauen Sie sich auf: https://github.com/barsan-ds/interval-filter für Beispiele
quelle
Derzeit sind Views die Datumsbereiche nicht sehr bewusst. Es kann nach Start- oder Enddatum als separate Filter gefiltert werden, jedoch nicht nach dem gesamten Datumsbereich.
Um die Filterung basierend auf dem Datumsbereich zu aktivieren, habe ich das Modul Ansichten Datumsbereichsfilter erstellt . Derzeit stehen 3 zusätzliche Filter für Datetime Range-Felder zur Verfügung:
Beinhaltet
Filtert nach Datumsbereichen, die das angegebene Datum enthalten.
Überlappungen
Filtert nach Datumsbereichen, die sich mit dem angegebenen Datumsbereich überschneiden.
Endet bei
Filtert nach Datumsbereichen, die nach dem angegebenen Datum enden. Entspricht "Enddatum <= Lieferdatum". Nützlich für gruppierte Filter bei Verwendung von "Startdatum".
quelle
Datum Popup Dieses Modul dient dem Zweck.
quelle