Personalizzare l'ouput di una vista

3 contenuti / 0 new
Ultimo contenuto
Personalizzare l'ouput di una vista

Salve, questo è il primo post su questo sito.
Ho avuto la necessità di creare i seguenti contenuti :

1) un tipo "recapito" con i seguenti campi:
Tipo ( testo con i seguenti valori : telefono, cellulare, e-mail, fax )
Descrizione

2) un tipo "contatto" con i seguenti campi:
Cognome (testo)
Nome (testo)
Recapito (node reference - riferito al tipo recapito)

Supponendo di inserire due telefoni, una mail ed un fax per ogni contatto l'output della mia vista è :

nome: NNNN
cognome: CCCC
tipo : telefono
descrizione : nr di telefono 1
tipo : telefono
descrizione : nr di telefono 2
tipo : mail
descrizione : indirizzo mail
tipo : fax
descrizione : nr di fax

Vorrei ottenere un risultato del tipo :

NNNN - CCCC

recapiti:
- nr di telefono 1, nr di telefono 2
- nr di fax
- e-mail

Sto utilizzando una vista con stile "non formattato" ed ho assegnato il seguente link alla pagina : dettagli-contatto.
Ho provato a seguire le indicazioni contenuti qui ma non riesco ad ottenere il risultato voluto.
Infine ho creato il file page-dettagli-contatto.tpl.php all'interno della cartella del mio tema e vorrei sapere come recuperare il valore delle variabili dei campi all'interno del file.

grazie, buon lavoro ...

Sei sulla buona strada ma hai sbagliato il template. Quello definisce la pagina per il content type "dettagli-contatto".

Per prima cosa installa il modulo http://drupal.org/project/advanced_help ed poi clicca i vari punti interrogativi che vedi nell'UI di views. c'è molto se non tutto quello che serve.
Come si dice nel thread che citi, devi creare un template specifico per quel display di quella vista; seleziona "informazioni sul tema" nelle impostazioni generali della vista, ti verrà restituito un elenco di possibili template suggestions per quella vista. A occhio e croce direi che ti serve un template per tutti i campi, quindi qualcosa del tipo "views-view-fields--[nome vista]--[tipo di display]-[delta].tpl.php"
(controlla se c'è views-view-fields--dettagli-contatto--page-1.tpl.php).

Una volta individuato il nome del template, clicca su "row style outputs", copia il codice e incollalo in un nuovo file a cui darai il nome individuato in precedenza.
Ora sta a te modificarlo per le tue esigenze. nelle istruzioni (commentate) e nel codice stesso ci sono tutti i suggerimenti necessari.
In generale lavorerai più spesso con:
il contenuto del campo:

<?php
 
print $fields['nome_del_campo']->content;
?>

la classe CSS del campo:
<?php
 
print $fields['nome_del_campo']->class;
?>

l'etichetta del campo:
<?php
 
print $fields['nome_del_campo']->label;
?>

i nomi dei campi li puoi trovare in parecchi modi, il mio preferito è hovering sui nomi dei campi in views UI: l'ultimo argomento dell'URL nella status bar è il nome del campo (quasi sempre)

buon lavoro a te!
[edit: fixed link]

come non detto :$