Ich habe eine Ansicht eines Inhaltstyps, der zwei verschiedene Datumsfelder enthält (eines mit Datumswiederholungen und eines mit mehrwertigen Einzeldaten). Es wird jeweils nur ein Datumsfeld ausgefüllt. In der Anzeige der Ansicht habe ich die beiden Felder kombiniert, indem ich das erste Datumsfeld ausgeblendet und das zweite neu geschrieben und das Ersatz-Token des ersten und zweiten eingeschlossen habe. Gibt es eine Möglichkeit, das neu geschriebene Feld jetzt zu verwenden, um die Ansicht in aufsteigender Reihenfolge basierend auf diesem kombinierten Datumsfeld zu sortieren? Es scheint, dass es es basierend auf dem ursprünglichen Wert des Datumsfelds sortiert.
Ich habe meine Nachforschungen angestellt und nur alte, etwas verwandte Themen mit Sackgassen gefunden.
Ansichten nach umgeschriebenem Feld sortieren?
Die Tabelle wird nicht nach neu geschriebenem Feld, sondern nach Originalfeld sortiert
Ansichten: Benutzerdefiniertes Feld für Sortierkriterien
Nach global sortieren: Benutzerdefinierter Text. Ist es möglich?
Ich hatte gehofft, dass es einen neuen oder hinterhältigen Weg gibt, dies zu erreichen.
Antworten:
Wenn Sie sich nicht für die Modulroute entscheiden möchten, ist dies eine Alternative:
1) Installieren Sie das Computed Field- Modul.
2) Fügen Sie Ihrem Inhaltstyp ein Computed Field hinzu.
3) In den Feldeinstellungen können Sie im Textbereich Computed Code (PHP) auf die Felddaten zugreifen.
Holen Sie sich Ihre Datumsfelder in Ihrer aktuellen Sprache in eine Variable.
Ihre Datumswerte finden Sie jetzt in
Führen Sie mit Ihren Datumsfeldern die gewünschte Logik aus und weisen Sie das Ergebnis zu
Jetzt haben Sie ein sortierbares Feld, das Sie in Ansichten verwenden können. Zuerst müssen Sie jedoch alle Knoten aktualisieren, da das berechnete Feld erst beim Speichern des Knotens berechnet und in der Datenbank gespeichert wird. Es gibt viele Möglichkeiten, dies zu tun. Eine davon ist die Verwendung von Views Bulk Operations. Sie bietet die Möglichkeit, Knoten unter admin / content erneut zu speichern.
quelle
[und]
Syntax nicht. Verwenden Sie stattdessen field_get_items.Ich denke, Sie können es mit der Views Natural Sort tun . Es hat die Option, die Felder zu sortieren bedeutet - Sortierung für bestimmte Felder aktivieren . Wenn Sie diesem Tutorial folgen , bekommen Sie eine Idee !!.
quelle
Wenn Sie keine Paginierung verwenden, können Sie die PHP-Sortierung in einer benutzerdefinierten Abfrageüberschreibung verwenden, die nicht auf der Datenbank basiert.
Laut stevector ,
Die praktischste und zuverlässigste Lösung ist daher die Verwendung von Computed Field, wie von Kari Kääriäinen erwähnt.
quelle
Dies ist ein bisschen hackig, aber es funktioniert und Sie benötigen keine zusätzlichen Module.
Erstellen Sie eine Beschriftung für das Feld, nach dem Sie sortieren möchten, und schließen Sie es NICHT von der Anzeige aus. Schreiben Sie stattdessen die Anzeige als "leer" um, indem Sie einen leeren HTML-
<!---->
Kommentar als Umschreibwert hinzufügen . Fügen Sie dann Ihr anderes PHP / umgeschriebenes Feld als untergeordnetes Element dieser Spalte hinzu.Dadurch wird der Tabellenkopf für die richtige Spalte zum Sortieren angezeigt.
quelle