Erstellen einer Ansicht, in der die Ergebnisse nach Monat / Jahr gruppiert werden

7

Weiß jemand, wie man eine Ansicht erstellt, die die Ergebnisse nach Monat / Jahr gruppiert, aber die Ergebnisse erweitert drucken kann. Nehmen Sie den folgenden Datensatz:

Veranstaltungen

    Ereignisname Ereignisdatum
    ---------- ----------
    Event 1 2011-05-01
    Event 2 15.05.2011
    Event 3 30.05.2011
    Veranstaltung 4 04.06.2011
    Event 5 2011-06-22
    Event 6 2011-07-01
    Veranstaltung 7 16.08.2011
    Veranstaltung 8 2012-01-01
    Veranstaltung 9 2012-01-02
    Veranstaltung 10 15.05.2013

Ich möchte, dass Views diese Daten im folgenden Format ausgibt:

    Mai 2011
    --------
      Veranstaltung 1
      Ereignis 2
      Ereignis 3

    Juni 2011
    ---------
      Ereignis 4
      Ereignis 5

    Juli 2011
    ---------
      Ereignis 6

    August 2011
    -----------
      Ereignis 7

    Januar 2012
    ------------
      Ereignis 8
      Ereignis 9

    Mai 2013
    --------
      Ereignis 10

Damit die Ansicht nicht in SQL gruppiert wird, müssen lediglich die Ereignisse mit visuell nach Monat und Jahr gruppierten Überschriften ausgedruckt werden.

Camsoft
quelle

Antworten:

0

Ich bin mir nicht sicher, ob es möglich wäre, so nach Monat zu gruppieren, aber es wäre ziemlich einfach, dies in einer Vorlage (oder einer Vorverarbeitungsfunktion) zu tun.

Alles, was Sie wirklich tun müssen, ist, alle Zeilen zu durchlaufen und zu überprüfen, ob das Ereignis einen neuen Monat / ein neues Jahr hat. Jedes Mal, wenn dies geschieht, fügen Sie das Ereignisdatum hinzu, das als formatiert ist Month year. Dies gibt Ihnen auch die Flexibilität, die Monate wie fx h3oder was auch immer am besten zu Ihrer Site passt, zu drucken , anstatt sich auf die Markup-Ansichten zu verlassen, die generiert werden.

googletorp
quelle
Ich habe dies bereits im Code mit EntityQuery und manueller Gruppierung getan. Scheint eine echte Einschränkung von Views zu sein, dass dies nicht möglich ist.
Camsoft
@camsoft Views hätte dies hinzufügen können, aber mit der Anzahl der verschiedenen Möglichkeiten, wie es auf SQL-Servern wie MySQL, PgSQL usw. implementiert werden müsste, kann ich sehen, warum dies nicht hinzugefügt wird. Die Benutzer erstellen die Abfrage wie Sie selbst, anstatt diese Funktion in Ansichten hinzuzufügen.
googletorp
@googletorp Ich bin neu in Drupal, können Sie bitte diese drupal.stackexchange.com/q/120546/28667
Mohammad Kermani
14

Sie können nach jedem Feld gruppieren, einschließlich Monat-Jahr. Sie müssen Ihr Datumsfeld auswählen und die Ausgabe anpassen. Anschließend können Ansichten mithilfe der Optionen "Gruppieren" unter Format: Einstellungen auf dem Feld gruppiert werden.

Heidekraut
quelle
Um das Video noch fantastischer und nützlicher zu machen, könnte es zum nächsten Problem des Benutzers führen: "Verwirrende Sortierung unter jeder Monatsüberschrift". So fügen Sie das Verwirrende hinzu: Fügen Sie ein weiteres Feld für das Post-Datum hinzu, das neben dem Titel mit dem benutzerdefinierten Datumsformat Ymd angezeigt werden soll. Die Blog-Beiträge werden jetzt in einer durcheinandergebrachten Reihenfolge präsentiert.
olleolleolle
3
Ich habe Ihr Video nicht angesehen, aber wenn es nicht enthalten ist, müssen Sie "Tags aus gerenderter Ausgabe entfernen" aktivieren, damit die Gruppierung ordnungsgemäß funktioniert. Dies hat etwas mit RDF im Kern zu tun (falls aktiviert). Es kann die Gruppierung beeinträchtigen, wenn dies nicht aktiviert ist.
Nigel Waters
2

Sie können dies mithilfe von Ansichten tun und als Tabelle anzeigen lassen. Tabelle bietet eine Option zum Gruppieren von Feldern.

Pax
quelle
1
Wenn Sie nach Datum gruppieren, müssen Sie möglicherweise die Option "Gerenderte Ausgabe zum Gruppieren von Zeilen verwenden" deaktivieren, damit die Gruppierung funktioniert.
Ajinkya Kulkarni