Formattare il risultato delle viste

3 contenuti / 0 new
Ultimo contenuto
Formattare il risultato delle viste
AllegatoDimensione
Image icon Elenco.jpg53.26 KB

Gentilissimi, sto creando delle viste per una categoria di contenuti affinché mi crei un elenco di quei contenuti.

Vorrei però dare un aspetto grafico personalizzato a questo elenco e non ho ancora capito come posso fare. Vi allego una immagine di quello che vorrei fare. IN pratica sarebbe una riga con una immagine a sinistra e il testo a destra con il titolo in rosso.

Se esiste un modulo per creare queste formattazioni qual'è.

Grazie

non ti serve un modulo ma un template per la vista in questione.
selezionando "theming information" in fondo alla sezione "basic settings" della vista, puoi vedere quali template sono responsabili del rendering (in grassetto) con una lista dei possibili templates via via più specifici che puoi usare.
Non posso farti un tutorial esaustivo del theming per views ma posso immaginare che quello che vuoi ottenere si possa fare creando un template di tipo "row" ovvero che gestisce la singola riga (immagine+titolo+descrizione, nel tuo esempio).
Quindi procederei così:
1. tiri su il markup e gli stili appropriati (html e css)
2. vai a vedere nellla schermata "template information" qual'è il nome del template "row" più appropriato (specifico)
3. copi il template di base (clicca sull'unico link nella lista row style)
4. crei un nuovo file con il nome individuato in 2) e ci incolli quanto copiato
5. a questo punto inserisci il markup che hai creato in 1) e inserisci i pezzetti di php che definiscono l'output dei singoli campi.
6. salva questo file nella cartella del tema (magari in una sottocartella "views") e pulisci la cache.

tanto per fare un esempio:

<div class="immagine">
<?php print $fields['field_immagine']->content; ?>
</div>
<div class="blocco-testo">
<div class="titolo">
<?php print $fields['title']->content; ?>
</div>
<div class="descrizione">
<?php print $fields['field_descrizione']->content; ?>
</div>
</div>

.immagine{float:left; padding:3px; border:solid 1px red; margin-right:10px;}
.blocco-testo{float:right}

[EDIT: piccole correzioni]

Grazie bohz e scusa il ritardo. Ho fatto vedere il codice ad un amico esperto in php. Ti ringrazio per la soluzione.