Drupal CCK + Views. Modifica della visualizzazione della galleria dei dipendenti.
Nella lezione precedente, con l’aiuto dei moduli di Drupal Views e CCK, abbiamo creato una galleria dei dipendenti, che viene popolata creando contenuti di tipo “Dipendente”. Nel tipo di contenuto Dipendente abbiamo aggiunto due campi: Nome completo (text field) e Informazioni sul dipendente (textarea). Questa lezione serve a mostrare che gli stessi dati possono essere visualizzati in modi diversi tramite View.
Attualmente la galleria dei dipendenti viene visualizzata come segue:
Per comodità ho aggiunto nel menu un link alla vista dei dipendenti. Come percorso della vista, utilizza la proprietà path del display “Pagina”.
Metodo 1. Lavoriamo con la vista (View) della galleria dei dipendenti: rimuoviamo la descrizione di ciascun dipendente e rendiamo il nome completo (ФИО) un link alla sua rispettiva pagina (nodo).
Innanzitutto, è necessario rimuovere il campo descrizione dalla vista della galleria dei dipendenti. Andiamo nell’elenco delle viste (Struttura del sito → Views) e scegliamo la vista della nostra galleria, nel mio caso si chiama view_sotrudniki.
Bisogna cliccare sul pulsante per modificare i campi e rimuovere il campo descrizione del dipendente. Dopo la rimozione, salviamo le modifiche. Non abbiate paura di eliminare elementi nella visualizzazione: eliminare un campo di output non elimina i dati reali.
Ora, senza la descrizione, la vista apparirà così:
Ora rendiamo il campo Nome completo (ФИО) un link alla pagina del rispettivo dipendente. Apriamo la vista dei dipendenti e selezioniamo il campo ФИО:
Nella parte inferiore appariranno le impostazioni del campo ФИО: bisogna selezionare “Link this field to its node” (collega questo campo al suo nodo):
Salviamo le modifiche e ricordiamoci di salvare anche la vista. Ora il Nome completo è un link al nodo del dipendente:
Metodo 2. Rendiamo il Nome completo (ФИО) un link alla vista della galleria dei dipendenti, ma passando l’ID del nodo del dipendente come parametro.
In base al numero del nodo del dipendente, mostreremo un blocco con la sua descrizione subito sotto la galleria. Ad esempio, se il nodo del dipendente ha ID 10, il link sul suo Nome completo porterà a nome_sito/sotrudniki/10
.
Apriamo la vista della nostra galleria e aggiungiamo il campo Contenuto: nid. nid è l’abbreviazione di “node id”, cioè il numero identificativo del nodo corrente. Quando aggiungiamo il campo nid, dobbiamo impostarlo su “Exclude from display” (escludi dalla visualizzazione).
Il campo nid deve essere posizionato in cima all’elenco, in modo che il suo valore sia disponibile durante la creazione del link per il Nome completo.
Ora apriamo le impostazioni del campo ФИО e configuriamo il link come sotrudniki/[nid]
.
Deselezioniamo “Link this field to its node” e selezioniamo “Output this field as a link” (visualizza questo campo come link). Nel campo del link scriviamo sotrudniki/[nid]
, utilizzando il segnaposto [nid] (che abbiamo messo in alto). Salviamo il campo e la vista.
Ora dobbiamo creare un blocco in cui verrà visualizzata la descrizione del dipendente. Lo chiameremo view_block_sotrudniki. In questa vista aggiungiamo un display di tipo “blocco”.
Aggiungiamo i campi:
Contenuto: Nome completo
Contenuto: Informazioni sul dipendente
Filtri:
Contenuto: Pubblicato – Sì
Contenuto: Tipo – Dipendente
Argomento:
Contenuto: nid – nelle impostazioni dell’argomento impostiamo quanto segue:
Provide default argument – se l’argomento non è presente, consente di definirlo con la funzione arg()
o altre. La funzione arg()
accetta tra parentesi il numero dell’argomento nell’URL (sotrudniki/[nid]
): la numerazione parte da zero, quindi selezioniamo il secondo argomento, cioè il numero del nodo [nid], mentre il primo argomento è “sotrudniki”.
Altri possibili argomenti:
Node ID from URL – funziona quando il primo argomento è “node” (ad esempio node/14
);
Taxonomy Term ID from URL – funziona quando il primo argomento è “term”; il modulo Taxonomy verrà trattato in una lezione successiva;
User ID from URL – funziona quando il primo argomento è “user”;
Per ora inseriamo il codice PHP: return arg(1);
Salviamo l’argomento e la vista. Ora dovrebbe apparire il blocco view_block_sotrudniki: Blocco. Questo blocco viene creato automaticamente ogni volta che in una vista viene aggiunto un display di tipo “blocco”. Posizioniamo il blocco view_block_sotrudniki: Blocco nella regione “Contenuto”. Nelle impostazioni di visibilità del blocco, impostiamo che venga mostrato solo sulle pagine il cui URL contiene la parola “sotrudniki” (in modo che si attivi la prima view con la galleria dei dipendenti) e dopo questa parola segua un numero di nodo (/* – l’asterisco dopo la barra indica che ci si aspetta un valore qualsiasi dopo di essa).
Accedendo alla pagina nome_sito/sotrudniki
, ora cliccando sul Nome completo di un dipendente appariranno il suo Nome completo e le informazioni relative.