È 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)?
È 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)?
Risposte:
Sì, è possibile in Views 3 out of the box.
L'idea è la stessa delle aggregazioni SQL. Vediamo un esempio:
Modifica la vista e abilita le aggregazioni di visualizzazioni:
Rimuovi i criteri di ordinamento predefiniti.
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.
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.
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!