it-swarm.com.de

Zählen Sie die Ergebnisse in Ansichten mithilfe der Aggregation

Ist es möglich, Ergebnisse (z. B. die Knoten des Inhaltstyps x) in einer Ansicht mithilfe der Aggregation (nicht programmgesteuert) zu zählen?

29
hpn

Ja, dies ist in Ansichten 3 sofort möglich.
Die Idee ist dieselbe wie bei SQL-Aggregationen. Sehen wir uns ein Beispiel an:

  1. Bearbeiten Sie Ihre Ansicht und aktivieren Sie Ansichtenaggregationen:
    enable Views aggregations

  2. Entfernen Sie die Standardsortierkriterien.

  3. Fügen Sie die Felder "Inhalt: Typ" und "Inhalt: Nid" hinzu: enter image description here
    Wählen Sie die COUNT-Funktion für Inhalt: Nid: enter image description here

Um zu sehen, was passiert, aktivieren Sie einfach das Kontrollkästchen "SQL-Abfrage anzeigen" auf der globalen Seite mit den 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 node_type und berechnen die Anzahl für diese Gruppen.

44
kalabro

Tolle Antworten hier, obwohl Ihre ursprüngliche Frage nicht angibt, was Sie mit dem Zählwert do tun werden. Vermutlich möchten Sie es anzeigen?

Wenn ja, hier ist eine andere Lösung:

Angenommen, Ihre Ansicht ist bereits so eingerichtet, dass sie nach Elementen des Inhaltstyps filtert, können Sie der Ansicht auch eine Kopfzeile hinzufügen, die Option "Global: Ergebniszusammenfassung" auswählen und die im Textbereich bereitgestellten Tokenvariablen verwenden.

10
therobyouknow