Ist es möglich, Ergebnisse (z. B. die Knoten des Inhaltstyps x) in einer Ansicht mithilfe der Aggregation (nicht programmgesteuert) zu zählen?
Ist es möglich, Ergebnisse (z. B. die Knoten des Inhaltstyps x) in einer Ansicht mithilfe der Aggregation (nicht programmgesteuert) zu zählen?
Antworten:
Ja, in Views 3 ist dies sofort möglich.
Die Idee ist dieselbe wie bei SQL-Aggregationen. Sehen wir uns ein Beispiel an:
Bearbeiten Sie Ihre Ansicht und aktivieren Sie Ansichten-Aggregationen:
Entfernen Sie die Standardsortierkriterien.
Um zu sehen, was passiert, aktivieren Sie einfach das Kontrollkästchen "SQL-Abfrage anzeigen" auf der Seite mit den globalen Einstellungen für Ansichten.
SELECT node.type AS node_type, COUNT(node.nid) AS nid
FROM
{node} node
WHERE (( (node.status = '1') ))
GROUP BY node_type
LIMIT 10 OFFSET 0
Wir gruppieren also Knoten nach Knotentyp und berechnen die Anzahl für diese Gruppen.
Gute Antworten hier, obwohl Ihre ursprüngliche Frage nicht angibt, was Sie mit dem Zählwert tun werden. Vermutlich möchten Sie es anzeigen?
Wenn ja, ist hier eine andere Lösung:
Angenommen, Ihre Ansicht ist bereits so eingerichtet, dass nach Elementen des Inhaltstyps gefiltert wird, können Sie der Ansicht auch eine Kopfzeile hinzufügen und die Option "Global: Ergebniszusammenfassung" auswählen und die im Textbereich angegebenen Token-Variablen verwenden.
Nur für den Fall, dass jemand darauf stößt.
Ich habe das Views Date Format SQL verwendet, um das Datum auf die Granularität zu formatieren.
Das SQL-Modul Views Date Format ermöglicht das Formatieren von Datumsfeldern mit SQL. Dies ermöglicht die Gruppenaggregation für Datumsfelder unter Verwendung der ausgewählten Granularität.
Die Hauptfunktion besteht darin, die Datumsformatierung aus render () zu entfernen und in query () abzulegen. Dh formatiere Datumswerte mit SQLs DATE_FORMAT anstatt mit PHPs format_date.
Dies wird erreicht, indem den Datumsfeldern des Knotens "Erstellt" und "Geändert" ein neuer Standard-Handler zugewiesen wird. Dieser Handler erweitert und überschreibt den Build von views in views_handler_field_date.
Sofort einsatzbereit - so einfach geht's!