Views e Taxonomy - Problema duplicati

4 contenuti / 0 new
Ultimo contenuto
Views e Taxonomy - Problema duplicati

Salve a tutti,

Vorrei visualizzare nella mia vista, creata con il modulo "Views", i seguenti dati formattati nel seguente modo:

Quote:
Casa di Beppe
Categoria: TermTax1, TermTax2
Indirizzo: Piazza Delle Fontane

..anzichè...

Quote:
Casa di Beppe
Categoria: TermTax1
Indirizzo: Piazza Delle Fontane

Casa di Beppe
Categoria: TermTax2
Indirizzo: Piazza Delle Fontane

In pratica ho creato un vocabolario "Categorie" associato al tipo di contenuto "Luoghi". Quando l'utente inserisce un luogo può associargli anche una o più categorie (termini). Ovviamente mi ritrovo più record in uscita dalla query se ho più categorie per luogo, ma vorrei capire se esiste un modo per evitare la duplicazione del luogo e mettere in riga, sotto la voce categoria, tutti i termini del luogo separati da una virgola.

Spero che qualcuno possa aiutarmi..

Grazie e buona giornata

In teoria si, nella vista dovresti selezionare DISTINTA e mettere si, oltre che nel filtro che applichi devi selezionare la casella "riduci duplicati".
Questo in teoria...perchè in pratica spesso non funziona..
Cmq provaci, potresti essere fortunato!

Ti ringrazio per il suggerimento ma l'istruzione DISTINCT l'avevo già utilizzata sapendo che non mi avrebbe comunque aiutato e ti spiego anche il perchè..

Questa è la tabella dei luoghi:

NID | TITLE
1 | CASA DI MARCO
2 | CASA DI BEPPE
3 | CASA DI LUCA

Questa è la tabella dei termini tassonomia:

TID | TERMINE
1 | Termine1
2 | Termine2
3 | Termine3

Questa è la tabella di associazione tra luoghi e termini tassonomia:

NID | TID
1 | 2
1 | 3
2 | 1
3 | 1
3 | 2
3 | 3

L'ultima tabella è ovviamente la principale nonchè la più importante dato che le associazioni tra luoghi e termini. Mettendo su una bella query senza istruzione DISTINCT verranno estratti i dati nel seguente modo:

NID | TID | TITLE | TERMINE
1 | 2 | CASA DI MARCO | Termine2
1 | 3 | CASA DI MARCO | Termine3
2 | 1 | CASA DI BEPPE | Termine1
3 | 1 | CASA DI LUCA | Termine1
3 | 2 | CASA DI LUCA | Termine2
3 | 3 | CASA DI LUCA | Termine3

Come puoi vedere possiamo avere un tot di termini per luogo e il modulo Views, per quanto ne so attualmente, mi stampa i campi per ogni riga e di conseguenza ripetendomi per ogni termine il luogo.

Utilizzando la DISTINCT verrebbe fuori una cosa simile:

NID | TID | TITLE | TERMINE
1 | 2 | CASA DI MARCO | Termine2
2 | 1 | CASA DI BEPPE | Termine1
3 | 1 | CASA DI LUCA | Termine1

Mi deduplica i luoghi prendendomi solamente il primo termine, quindi sulla vista mi ritroverò solamente un termine per luogo...e gli altri??!

Quello che vorrei fare io sarebbe un'estrazione dei luoghi in modalità distinta e per ogni luogo una query che mi va ad estrarre i termini per quel luogo. Ciò sono riuscito a farlo con il modulo Views creandomi un allegato ma purtroppo la formattazione del testo non è una delle migliori perchè vorrei mettere in riga (orrizzontale), separati da una virgola, tutti i termini per quel luogo. Come in questo esempio:

Categoria: Termine1, Termine2, Termine3

Ho scritto tutto ciò perchè è necessario capire l'istruzione DISTINCT prima di utilizzarla..non va a fortuna!! Ci sono molti altri casi dove è possibile che non sembri funzionare, ma in realtà è solamente utilizzata male nel contesto.

Spero di essere stato d'aiuto a qualcuno.

Un altra soluzione potrebbe essere questa:
http://drupal.org/project/views_groupby