Conta i risultati in Views utilizzando l'aggregazione [chiuso]


30

È possibile contare i risultati (ad es. Contare i nodi del tipo di contenuto x) in una vista, usando l'aggregazione (non a livello di programmazione)?


3
Certo, basta usare l'aggregazione e quindi selezionare "conta" per il campo "ID nodo".
Uwe

1
Esistono domande e risposte identiche su drupal.stackexchange.com/questions/15871/count-of-nodes-by-type , inclusa un'esportazione vista pronta per l'uso.
marcvangend,

Risposte:


42

Sì, è possibile in Views 3 out of the box.
L'idea è la stessa delle aggregazioni SQL. Vediamo un esempio:

  1. Modifica la vista e abilita le aggregazioni di visualizzazioni:
    abilita aggregazioni di Views

  2. Rimuovi i criteri di ordinamento predefiniti.

  3. Aggiungi i campi "Contenuto: Tipo" e "Contenuto: Nid": inserisci qui la descrizione dell'immagine
    Seleziona la funzione COUNT per Contenuto: Nid: inserisci qui la descrizione dell'immagine

Per vedere cosa succede basta attivare la casella di controllo "Mostra la query SQL" nella pagina delle impostazioni globali di Views.

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

Quindi, stiamo raggruppando i nodi per tipo_nodo e calcolando il conteggio per questi gruppi.


1
Sono rimasto bloccato per un paio d'ore, poi dopo aver letto il tuo post mi sono reso conto che avevo un ordinamento predefinito lì. Grazie @kalabro
saadlulu,

2
Quindi, come viene reso disponibile il conteggio: è una variabile token e come può essere visualizzata?
therobyouknow,

La tua risposta è, ovviamente, corretta. Tuttavia, sono rimasto bloccato durante l'utilizzo di Relazioni con riferimenti entità e aggregazione. Funziona bene se si crea un blocco, ma non se si crea una Pagina. Cose strane.
Urb Gim Tam

10

Grandi risposte qui anche se la tua domanda originale non indica cosa farai con il valore del conteggio. Presumibilmente vuoi visualizzarlo?

In tal caso, ecco un'altra soluzione:

Supponendo che la vista sia già impostata per filtrare in base agli elementi del tipo di contenuto, è inoltre possibile aggiungere un'intestazione nella vista e scegliere l'opzione "Globale: riepilogo dei risultati" e utilizzare le variabili token fornite nell'area di testo.


Per chiarire, questo estende la grande soluzione fornita da Kalabro, per visualizzare un conteggio.
therobyouknow,

-2

Nel caso qualcuno dovesse imbattersi in questo.

Ho usato l' SQL del formato della data di Views per formattare la data in base alla granularità.

Il modulo SQL Data Formato viste consente di formattare i campi data utilizzando SQL. Ciò consente l'aggregazione di gruppi per i campi data utilizzando la granularità scelta.

La funzionalità principale è rimuovere la formattazione della data da render () e metterla in query (). Vale a dire i valori della data del formato utilizzando DATE_FORMAT di SQL anziché il formato_data di PHP.

Ciò si ottiene assegnando un nuovo gestore predefinito ai campi data "creati" e "modificati" del nodo. Questo gestore estende e sovrascrive la build delle viste in views_handler_field_date.

Ha funzionato subito, facile come!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.