martedì 13 maggio 2008

Temizzare il temibile nodo

In drupal 5.x ho creato un form di accredito con websform e dentro
alla cartella thems/nuovotema ho posizionato il file
page-node-59.tpl.php che conterrà il tema personalizzato per il nodo
http://www.exemple.com/?q=it/accredito che ha appunto nid 59.
Riassumo qui quattro approcci diversi per personalizzare il nodo:

1. modo sporco ma veloce:
momentaneamente metti un _ davanti a page-node-59.tpl.php giusto per
disabilitarlo e visualizza http://www.exemple.com/?q=it/accredito
normalmente. Visualizza il codice html e copiati tutto quello che è
dentro alla div content. Questo codice "staticizzato" lo puoi mettere
dentro page-node-59.tpl.php (senza _ ) e personalizzare come una
pagina html normale.
Vantaggi: veloce, facile, vedi subito il risultato. (usi dreamweaver o simli? )
Svantaggi: essendo statico, non varia con le variabili, ad esempio per
le lingue dovremmo replicare questa procedura per ogni lingua.

2. modo pulito ma lento
sempre usando page-node-59.tpl.php se ci metti dentro il codice:
<pre><?php print_r($content) ?></pre>
<pre><?php print_r($node) ?></pre>
prima ti stampa la variable content che ingloba gli array dei singoli
campi e poi ti stampa le singole variabili. Per creare il tema quindi
dovrai comporre i campi con le variabili e diventa più complicato
perchè si tratta di un form con tanto di $var per il campo, bottone
etc. La procedura l'avevamo seguita da qui:
http://drupal.org/node/62468 e seguenti (vai avanti nelle pagine) ma
risulta complesso per molti campi come nel nostro esempio. Niente di
drammatico, ma solo molto lungo. In questo modo componi il tuo nodo-59
personalizzato, tutte le referenze alle variabili funzioneranno
(lingue su tutto)
Vantaggi: massimo controllo dell'output del codice
Svantaggi: lento e ripetitivo per ogni singolo nodo, tassonomia etc

3. modo pulito, veloce ma meno flessibile
è possibile usare il modulo contemplate che ho installato sul server.
In pratica è un aiuto visivo che ti permette di inserire le singole
variabili su quello che sarà poi il tema del nodo. Lo svantaggio è che
è unico per TIPOLOGIA di nodo, nel nostro caso il form è un tipo di
nodo websform e ogni form che creeremo erediterà quel tipo di formato
(a differenza dei precedenti metodi che sono validi per singoli nodi,
o singole tassonomie etc). Per provarlo vai in
http://www.exemple.com/?q=it/admin/content/templates e clicca su create
template per websform. Poi scegli "testo" (tralascia teaser, nodo
compatto, e rss che non ci serve per ora) e sulla pagina che hai
inserisci le body variables.
Vantaggi: veloce, controllo delle variabili
Svantaggi: si applica a tipologie di nodo, non sono sicuro se l'output
è poi inseribile in page-node-59.tpl.php eventualmente da provare

4. modo pulito, solo css
Altra strada è quella del singolo css (o porzione di css che metti in
styles.css sempre dentro al tema). Questa via genera forse un pò di
codice css ridondante,
ma è molto veloce e pulita.
Sempre in page-node-59.tpl.php inserisci il solo codice <pre><?php
print_r($content) ?></pre> e visualizza l'output html. Vedrai che i
singoli elementi (generati dalle variabili a monte) sono già
identificati con classi e id pronte per essere valorizzati con il css.
Lo svantaggio è che l'id e e la classe magari ha il nome dato dal
modulo di drupal, ma può essere anche un vantaggio se lo vedi come
coerenza nel nomimare i singoli campi. Usa firebug per aiutarti
Vantaggi: solo css, non bisogna cercare la singola variabile
Svantaggi: i nomi delle classi e degli id sono già impostati e non si
possono cambiare

Nessun commento:

Related Posts Plugin for WordPress, Blogger...