Personalizzare la visualizzazione di un nodo:

11 contenuti / 0 new
Ultimo contenuto
Personalizzare la visualizzazione di un nodo:

DRUPAL 7

Ho creato un content type (che chiameremo CT_A con diciamo 5 campi che chiameremo:

CT_A_F1_NOME
CT_A_F2_COGNOME
CT_A_F3_PROFESSIONE
CT_A_F4_LUOGO_DI_NASCITA
CT_A_F5_RESIDENZA

Ora quando visualizzo questo tipo di nodo ( CT_A ) riesco a visualizzare un layout del tipo:
NOME: aaaaaaa
COGNOME: bbbbbbb
PROFESSIONE: cccccccccc
LUOGO_DI_NASCITA: ddddddddd
RESIDENZA: eeeeeee

A me non piace questo modo di visualizzare i dati e vorrei poterli visualizzare tipo:
NOME:             aaaaaaa
COGNOME:          bbbbbbb
PROFESSIONE:      cccccccccc
LUOGO_DI_NASCITA: ddddddddd
RESIDENZA:        eeeeeee

Ho provato a guardare in "Home » Amministrazione » Struttura » Pagine » Node template" ma utilizzando una VARIANTE di un PANEL (dove content type deve essere del tipo CT_A ) non riesco a creare una tabella ben allineata (ho scelto di creare un PANEL a 2 colonne dove sulla colonna di sinistra metto il nome del campo e su quella di destra metto il contenuto del campo ma i dati non vengono esattamente sulla stessa linea specie se metto in STRONG o BOLD il nome del campo che sta sulla colonna di sinistra).

Penso di essere completamente fuori strada e che probabilmente esista un modo molto più semplice x fare questo ma mi sto perdendo a cercare di qui, di la, di su e di giù . . .

Se utilizzo una View, questa mi fa una tabella con tutti i nodi di tipo CT_A mentre io ne voglio visualizzare UN NODO SOLAMENTE !
Se la soluzione fosse già contenuta in VIEWS e PANELS mi andrebbe benissimo in quanto così potrei creare delle VARIANTI per gli utenti in base ai ruoli degli utenti quali GUEST, un'altra per chi ha ruolo di GESTORE ma non sono sicuro se questa sia la strada giusta e mi sono perso.

Mi potete dire come devo risolvere il mio problema ?

è sufficiente dimensionare l'etichetta con CSS

Cioè ?
Devo fare un nuovo CSS e dove gli dico di utilizzarlo ???

Se mi dici dove devo sbattere la testa, la sbatto . . . ma così x me è mare aperto.

Oppure se mi dici che tutorial cercare io cerco xkè per ora mi sembra tutto un gran ... guazzabuglio
Danke

il tuo tema ha un file CSS principale, in genere denominato style.css
aggiungi le tue regole li. non devi fare altro*

*in realtà sarebbe opportuno creare un sottotema in modo da non dover rifare tutte le modifiche ad ogni aggiornamento del tema

Mi sono fatto una copia del tema in modo da poter fare danni "riparabili" (forse)

Questo è il nodo che vorrei visualizzare in maniera decente:

Con Firebug metto in evidenza quest'area (quella blu):

Mi piacerebbe ottenere una tabella tipo questa:

Ma non so come fare.
Scusa ma è così difficile quello che devo fare ? Non c'è uno spunto da cui partire / copiare / capire xkè mi sento sempre più in alto mare ... sob
Danke

Dunque fatemi capire meglio.
la mia tabella che vorrei modificare (vedi prime due immagini) è composta da questo codice:

<div id="node-21" class="node node-typ-condominio node-promoted" typeof="sioc:Item foaf:Document" about="/studioxxxxxxxx.local/content/esempio-0-monza">
    <div class="submitted">
        <span rel="sioc:has_creator" datatype="xsd:dateTime" content="2011-11-30T13:18:15+01:00" property="dc:date dc:created">
            Inviato da
            <span class="username" property="foaf:name" typeof="sioc:UserAccount" about="/studioxxxxxxxx.local/users/studiox" xml:lang="">StudioX</span>
            il Mer, 11/30/2011 - 13:18
        </span>
    </div>
<strong>QUESTE RIGHE QUI SOTTO DOVREBBERO ESSERE IL CONTENUTO DELLA MIA TABELLA </strong>  
    <div class="content clearfix">
        <div class="field field-name-field-st-condominio-nome field-type-text field-label-inline clearfix">
            <div class="field-label">Nome:&nbsp;</div>
            <div class="field-items">
                <div class="field-item even">Esempio 0</div>
            </div>
        </div>
        <div class="field field-name-field-st-condominio-comune field-type-text field-label-inline clearfix">
            <div class="field-label">Comune:&nbsp;</div>
                <div class="field-items">
                <div class="field-item even">Monza</div>
            </div>
        </div>
        <div class="field field-name-field-st-condominio-provincia field-type-list-text field-label-inline clearfix">
            <div class="field-label">Provincia:&nbsp;</div>
            <div class="field-items">
                <div class="field-item even">MB</div>
            </div>
        </div>
        <div class="field field-name-field-st-condominio-cap field-type-number-decimal field-label-inline clearfix">
            <div class="field-label">CAP:&nbsp;</div>
            <div class="field-items">
                <div class="field-item even">20900</div>
            </div>
        </div>
        <div class="field field-name-field-st-condominio-indirizzo field-type-text field-label-inline clearfix">
            <div class="field-label">Indirizzo:&nbsp;</div>
            <div class="field-items">
                <div class="field-item even">Via Manzoni</div>
            </div>
        </div>
        <div class="field field-name-field-st-condominio-civico field-type-text field-label-inline clearfix">
            <div class="field-label">Civico:&nbsp;</div>
            <div class="field-items">
                <div class="field-item even">1</div>
            </div>
        </div>
        <div class="field field-name-field-st-condominio-codfisc field-type-text field-label-inline clearfix">
            <div class="field-label">Cod.Fisc.:&nbsp;</div>
            <div class="field-items">
                <div class="field-item even">0004567890123456</div>
            </div>
        </div>
        <div class="field field-name-field-st-condominio-descrizione field-type-text-long field-label-inline clearfix">
            <div class="field-label">Descrizione:&nbsp;</div>
            <div class="field-items">
                <div class="field-item even">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ligula mi, interdum tempus placerat in, tincidunt ut velit. Aenean sagittis, sem vitae consequat accumsan, orci ante pharetra felis, eu condimentum purus mauris et ante. Curabitur id felis non lacus lobortis facilisis quis eget enim. Aenean in tincidunt est. Donec diam ligula, dignissim condimentum suscipit at, accumsan vel odio. Maecenas at lorem tortor. Donec pellentesque dapibus quam eget rutrum. Curabitur fermentum aliquam nisi, sit amet blandit est interdum nec. Duis feugiat arcu in leo pellentesque et pharetra augue feugiat. Nulla facilisi. Duis nibh nibh, molestie eget sollicitudin eget, vulputate non nisi.</div>
            </div>
        </div>
        <div class="field field-name-field-st-condominio-regolamento field-type-file field-label-inline clearfix">
            <div class="field-label">Regolamento:&nbsp;</div>
            <div class="field-items">
                <div class="field-item even">
            </div>
        </div>
        <div class="field field-name-group-access field-type-list-boolean field-label-inline clearfix">
            <div class="field-label">Group visibility:&nbsp;</div>
            <div class="field-items">
                <div class="field-item even">Private - accessible only to group members</div>
            </div>
        </div>
    </div>
</div>

Mi stai dicendo che LASCIANDO inalterato il codice qui sopra, attraverso il CSS io posso rendere la mia tabella non formattata, una tabella a due colonne dove i miei valori sono così allineati ?

Ho capito bene ?

Se si, mi potete dare qualche dritta senza dovermi leggere tutto il sito http://www.w3schools.com/

Mamma mia che fatica x fare una tabellina in drupal ...

la richiesta originale era di allineare i valori dei campi. io ho suggerito un sistema semplice per ottenere quanto richiesto.
questo sistema non contempla l'uso di tabelle

Per formattare una serie di campi come tabella in un nodo esistono varie opzioni tra le quali un template ad hoc o una vista che sostituisce i campi desiderati.

Che devo guardare del CSS ?
Se x te è semplice, x me no: se mi dai uno spunto te ne sarei davvero grato.

Ho dato per scontato che sapessi usare i fogli di stile.

suggerivo di dimensionare le etichette, ovvero gli elementi con classe field-label
dovresti aggiungere qualcosa del tipo

.node-typ-condominio .field-label{
  width:80px;
}

Questo dimensionerà tutte le etichette dei campi ad esempio a 80px ottenendo quanto desideri.
se vuoi dimensionare solo alcune etichette dovrai usare le classi specifiche dei vari campi.
ad es:
.field-name-field-st-condominio-descrizione .field-label{
  width:80px;
}

Ottimo !!!
Danke !!!

Avevi proprio ragione: è semplicissimo ( una volta che sai cosa guardare ovviamente ).

Ho provato a giocare con altre proprietà del CSS ma poi ho visto che i vari browser (Chrome FF e IE) si comportano in modo diverso con ad esempio qst qui (che ho deciso di cassare e di tenermi quindi il primo):

Grazie 1000.

Nuova domanda:
e se volessi disporre i vari campi di un nodo secondo un mio layout del tutto arbitrario tipo:

NOME: pippo       COMUNE: paperopoli                          PROVINCIA: PP - CAP: 12345
                           INDIRIZZO: via Torquato Tasso                 CIVICO: 1
COD.FISC;xxxxxxxxxx
DESCRIZIONE: bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
REGOLAMENTO: file.pdf
GROUP:              You are the group manager
GROUP VISIBILITY: Private - accessible only to group members

P.S. il posizionamento che ho inserito qui sopra come esempio è proprio a vanvera, proprio per farvi capire che vorrei avere io il controllo su dove posizionare esattamente ogni singolo elemento del mio nodo.

1) Che devo utilizzare per ottenere ciò ?
2) Con il CSS tramite "width" ho ottenuto 2 colonne larghe di una determinata misura. Qui dovrei invece DISPORRE i vari singoli elementi (ITEM e LABEL). Uso sempre il CSS ? Che devo guardare ?