| Mandami un messaggio |
|
|
|
|
|
Download Skype |
![]() |
|
|
|
La funzione theme()Inserito da enzo il 13 Giugno 2008E' sconsigliato inserire direttamente codice HTML in Drupal, sebbene sia permesso dai formati di input (FilteredHTML,FullHTML). Drupal mette a disposizione delle funzioni proprio per produrre codice HTML personalizzabili all'interno di ciascun tema. Le funzioni che producono codice HTML, devono però poter funzionare per qualunque tema selezionato. Ad esempio volendo stampare una tabella si può usare la funzione theme_table() o volendo stampare un blocco si può usare la funzione theme_block(). Tutte le funzioni tematizzate di sistema si trovano nel file includes/theme.inc. Ma se, ad esempio, un tema deve visualizzare l’oggetto ‘blocco’ in un modo particolare può essere implementata la funzione theme_block(), chiamandola miotema_block(), ed inserendola nel file template.tpl.php. A questo punto è necessario che Drupal sia in grado di sapere che esiste una funzione personalizzata ed usare quella invece della funzione di default. Prendondo come esempio la funzione theme_table(), Drupal, nel momento in cui deve chiamare la funzione, verifica, con le priorità indicate, se: Il tema implementa la funzione Verifica se la funzione theme_table() è implementata nel tema corrente.
Il motore di template implementa la funzione Se il tema non implementa la funziona, Drupal verifica se la funzione theme_table() è implementata dal motore di template del tema corrente.
Il sistema implementa la funzione Se il motore non implementa la funziona, Drupal chiama la funzione theme_table() implementata da sistema. La funzione implementata:
Un help delle funzioni di sistema tematizzate può essere trovato in http://api.drupal.org/api/group/themeable/5?sort=asc&order=Name La funzione theme() Quando abbiamo bisogno di chiamare una funzione tematizzata, è bene non chiamare la funzione direttamente, ma lasciare che sia Drupal a fare questo per noi tramite la funzione theme('block',args). Infatti supponiamo di voler visualizzare una tabella all'interno di codice php scritto da noi, la chiamata alla funzione giusta potrebbe essere del tipo: function miafunzione() {
......
// stampa tabella
if (isset('miotema_table') miotema_table(.....);
elseif (isset('phptemplate_table') phptemplate_table(.....);
else theme_table();
......
}Tutto questo può essere semplificato utilizzando la funzione theme() e delegare a Drupal la scelta della funzione corretta: function miafunzione() {
......
// stampa tabella
theme('table',$args);
......
}
|
|
MeteoBookNavigazioneCommenti recenti
Chi è onlineCi sono attualmente 0 utenti e 2 visitatori collegati.
|
E' possibile modificare
E' possibile modificare doorpal per un sito di piscine come questo?
www.acquaform.it
Invia nuovo commento