it-swarm.com.de

D8-Ansichten - Kontextfilter nach Monat und Jahr? (Inhaltsdatum Feld)

Wir haben endlich eine Entwickler-Site bis 8.5.3 gepatcht. Unsere alte Site (8.4.0) verwendete einen Views-Patch (nur als Referenz), mit dem ein Inhaltsdatumsfeld kontextuell nach Monat und Jahr gefiltert werden konnte:

https://domain.com/events/042018

gab alle Ereignisse mit Monat 04 und Jahr 2018 zurück.

In den Ansichten 8.5.3 ist dieser Patch nicht mehr anwendbar und scheint für das Erstellungsdatum und das Aktualisierungsdatum integriert zu sein. Aber ich brauche diese Datumsfelder nicht. Ich versuche, auf ein von mir erstelltes Inhaltsdatum zuzugreifen.

  1. Weiß jemand, wie man das macht? oder
  2. Können Sie mir beim Erstellen eines Kontextfilter-Handlers für benutzerdefinierte Ansichten helfen, der auf dieses benutzerdefinierte Datumsfeld zugreifen kann?

Vielen Dank!

Beispiel für eine Ansicht: Alle Ereignisse anzeigen. Kontextuell nach Datum filtern. Anstelle eines genauen Datums werden jedoch nur Monats- und Jahresteile erfasst, d. H. Alle Ereignisse für Juli 2018/events/201807 angezeigt views content date month year

1
Matt Campbell

Views 8 entwickelt derzeit noch die Verwendung granularer Datumsfilter für Inhaltsdatenbereichsfelder. Dies wird für die Erstellung von Monatskalendern, Jahreskalendern usw. benötigt.

[~ # ~] Lösung [~ # ~]

Für Drupal 8.5.x Views) installiert jeder, der versucht, Inhalte nach MONAT & JAHR in einem Daterange-Feld auszuwählen, den folgenden Patch, bis er in den Core integriert ist:

2786577-270.patch

https://www.drupal.org/project/drupal/issues/2786577?page=1

Kommentar # 318. Für frühere Versionen von Drupal 8) scrollen Sie einfach in diesem Thread zurück und suchen Sie nach dem Patch, der für Ihre Version gilt.

Nach der Installation des Patches:

  1. Bearbeiten Sie Ihre Ansicht
  2. Klicken Sie unter Erweitert> Kontextfilter> Hinzufügen auf
  3. Filtern nach "Datum"
  4. Sie sehen nun alle Ihre Inhaltsdatumsfelder mit Datumsteilen, die als Filter verfügbar sind. Wählen Sie year_month oder einen anderen gewünschten Datumsteil
  5. Sie können jetzt nach Datumsteil filtern oder kontextuell filtern
  6. Wichtig: Behalten Sie die Kernaktualisierungen im Auge, da neuere Versionen dieses Patches möglicherweise erneut angewendet werden müssen

(contextual filter month year views drupal 8contextual filter month year views drupal 8 calendar

Zeigt den gesamten Inhalt an, bei dem sich das benutzerdefinierte Datumsfeld jederzeit im April 2018 befindet. Alle Ereignisse im Kalender im April anzeigen.

1
Matt Campbell
  1. Entfernen Sie Ihren Datumskontextfilter, indem Sie auf Entfernen klicken.
  2. klicken Sie auf Kontextfilter hinzufügen, suchen Sie nach dem Datumsfeld und wählen Sie die Granularität "Jahr + Monat" aus. Klicken Sie dann auf Hinzufügen.

(enter image description here

sobald Sie fertig sind, sollte Ihr Kontextfilter folgendermaßen aussehen:

(enter image description here

Jetzt können Sie events/201807 Gehen und es würde Ihnen die gleichen Ergebnisse geben.

update: Diese Granularität ist für alle Datumsfelder unter der Kontextfilteroption (node.field_somedatefield (year_month) verfügbar, sofern das Feld normalerweise mithilfe des Abschnitts zum Verwalten von Feldern für Inhaltstypen hinzugefügt wurde:

(enter image description here

3
awm