2009-08-03 14 views
6

Ho una domanda sulle viste, in particolare sul raggruppamento di una relazione. Ho un nodo "partner" che ha molti "documenti", voglio elencare il nome del "partner" insieme ai suoi "documenti" corrispondenti di seguito. Ho impostato correttamente la relazione (credo) ma non riesco a capire come o dove raggrupparlo correttamente.Drupal: Visualizzazioni: relazione di raggruppamento nella lista di blocco

ottengo questo:

partner name 1 
- doc name 1 
partner name 1 
- doc name 2 
partner name 1 
- doc name 3 
partner name 2 
- doc name 4 
partner name 2 
- doc name 5 
partner name 3 
- doc name 6 

ma desidera un

partner name 1 
- doc name 1 
- doc name 2 
- doc name 3 

partner name 2 
- doc name 4 
- doc name 5 
- doc name 6 

risposta

7

Sembra che sei sulla strada giusta. Per fare in modo che il raggruppamento funzioni come descritto sopra, è necessario impostare lo stile di visualizzazione su "elenco html", quindi, sotto le opzioni di stile, impostare il campo di raggruppamento sul nome del partner. Una volta che hai funzionato, puoi modificare il campo del nome del partner e selezionare "exclude from display", che dovrebbe quindi darti il ​​formato desiderato.

+1

Questo è l'esatto configurazione che ho impostato, ma l'output è ancora come elencato sopra. – Ronn

+0

Questo è un ottimo consiglio per impostare la riga di intestazione nella sezione dei campi da escludere dalla visualizzazione. http://drupal.org/node/486800#comment-1684306 – Kevin

2

Mi sono imbattuto in questo stesso problema oggi. Nel tentativo di risolvere i problemi, ho creato una nuova installazione vuota di Drupal e aggiunto solo il mio tipo di contenuto e la relazione. Quando ho creato la vista non ho visto il problema. Una volta che ho iniziato ad aggiungere i moduli, ho scoperto che lo sviluppatore del tema nel modulo di sviluppo sta causando il problema. Prova a deselezionarlo e ricaricare la vista. Potresti anche essere in grado di vederlo lasciando l'oggetto selezionato, aprendo un altro browser e andando alla vista come qualcuno che non vedrà lo sviluppatore del tema.

0

Ho avuto qualche successo con il modulo views_field_view che consente di specificare una vista come un campo.

Per prima cosa ho creato una vista con il singolo campo che volevo raggruppare per poi superare la query utilizzando il seguente codice.

function hook_views_pre_execute(&$view) { 
    if ($view->name == 'phone_search') { 
     $query = 'SELECT DISTINCT node_data_field_status.field_status_value AS node_data_field_status_field_status_value 
      FROM content_type_phone node_data_field_status'; 
     $view->query->query = $query; 
     $view->query->final_query = $query; 
     $view->query->count_query = $query; 
    } 
} 

La ragione di questo è che le opinioni include automaticamente i campi ei nidvid quando lo avete impostato per selezionare distinti in modo da non effettivamente ottenere i valori distinti. Con l'hacking della query come questa ho lavorato a questo problema.

Il modulo views_field_view mi ha permesso di creare una seconda vista con i campi che volevo visualizzare nei gruppi. Quando aggiungi view_field alla vista principale (quella in cui la query è sovrascritta) puoi specificare un campo da passare come argomento. Questo argomento deve quindi essere specificato nella visualizzazione figlio.

È tutto un po 'complicato ma spero che sia stato chiaro!

0

Questo è un punto di vista debole.

Di solito scrivo un modulo per produrre questo tipo di risultati perché trovo che scrivere sql è più veloce e più gestibile rispetto al wrestling con le viste per farlo.

Detto questo, ci sono molti plugin di visualizzazioni che offrono questo tipo di funzionalità. Non li ho testati perché ritengo che questo sia più facile da gestire con una piccola quantità di codice personalizzato in generale, ma qui ci sono alcuni progetti che cercano di fornire una soluzione a questo tipo di cose per le visualizzazioni.

https://drupal.org/project/views_complex_grouping

https://drupal.org/project/views_grouped_table

ci sono molti altri, ma posso inviare solo due link, perché non mi capita spesso rispondere a domande su questo sito :)

applausi

Problemi correlati