I template in e107

Transcript

I template in e107
http://www.e107italia.org/e107_plugins/content/content.php?content.19
Pagina 1/3
I template in e107
Uso dei template in e107.
Admin, mer 04 ottobre 2006 - 00:00
In questo breve tutorial prenderemo in esame il 'sistema' dei template.
Quasi tutti gli script di e107 elaborati dal sistema, disegnano il relativo output grafico grazie all'uso dei template. Questi file con
estensione php sono contenuti, per quanto riguarda il CORE nella cartella e107_themes/template, mentre i plugins ben scritti (vedi
forum o contenuti), normalmente hanno una cartella templates al loro interno dove sono contenuti i file che stiamo esaminando.
Per capire meglio di cosa si tratta, esaminiamo un template a caso relativo agli utenti online che si attiva dall'apposito link sul forum:
» &lt?php
»
» if (!defined('e107_INIT')) { exit; }
»
» // ##### ONLINE TABLE ----------------------------------------------------------------------------» if(!$ONLINE_TABLE_START){
»
$ONLINE_TABLE_START = "
»
<div style='text-align:center'>
<table class='fborder' style='width:96%'>
class='forumheader' style='width:3%'> </td>
<tr>
<td
<td class='forumheader' style='width:43%'>".ONLINE_EL10."</td>
<td class='forumheader' style='width:50%'>".ONLINE_EL11."</td>
</tr>";
» }
» if(!$ONLINE_TABLE){
»
$ONLINE_TABLE = "
»
<tr>
<td class='forumheader3' style='width:3%;text-align:center'>{ONLINE_TABLE_ICON}</td>
<td class='forumheader3' style='width:45%'>{ONLINE_TABLE_USERNAME}</td>
style='width:50%'>{ONLINE_TABLE_LOCATION}<br /></td>
<td class='forumheader3'
</tr>";
» }
» if(!$ONLINE_TABLE_END){
»
$ONLINE_TABLE_END = "
»
</table>
»
".ONLINE_EL2.MEMBERS_ONLINE." ...<br />
»
<br />({ONLINE_TABLE_MOST_MEMBERS_ONLINE}, {ONLINE_TABLE_MOST_GUESTS_ONLINE}) ".
</div>
<br />
".ONLINE_EL1.GUESTS_ONLINE.",
<br />{ONLINE_TABLE_MOST_EVER_ONLINE}
ONLINE_EL9." {ONLINE_TABLE_DATESTAMP}<br />
{ONLINE_TABLE_MEMBERS_TOTAL}{ONLINE_TABLE_MEMBERS_NEWEST}";
» }
» // ##### ------------------------------------------------------------------------------------------
http://www.e107italia.org/e107_plugins/content/content.php?content.19
Pagina 2/3
»
»
» ?>
Qualche breve considerazione è necessaria: nelle prime righe tramite istruzioni div e class definisce lo stile di visualizzazione, quindi
passa variabili di linguaggio, ad esempio:
» ".ONLINE_EL2.MEMBERS_ONLINE."
e utilizza le cosidette shortcode che altro non sono che routine php inserite in questo modo allo scopo di evitare l'inserimento di
codice nel template stesso.
» {ONLINE_TABLE_MOST_EVER_ONLINE}
Tutte le shortcode sono definite entro parentesi grafffe, possono essere eliminate ma non modificate... almeno non nei template. In
questa sezione ci occuperemo solo dell'aspetto grafico del template e non di eventuali modifiche al codice che li genera.
Fatta questa necessaria premessa, è facile intuire che possiamo stravolgere completamente l'aspetto grafico che è realizzato in html
puro e ottenere (tramite l'uso delle shortcode che è indispensabile) qualcosa di completamente nuovo e personalizzato per il nostro
sito.
In questi lavori di personalizzazione e107 è veramente straordinario, in quanto permette tutto. In più noi possiamo creare template
personalizzati senza intaccare quelli di default ed utilizzarli. Il come è relativamente semplice.
e107 lavora in questo modo: elabora lo script. Lo script cerca il template associato prima all'interno della cartella del tema, quindi
se non lo trova nella cartella dei template di default. Da ciò è facile capire che se noi personalizziamo un template e lo salviamo con
lo stesso nome nella cartella del nostro tema, e107 elaborerà quest'ultimo senza utilizzare quello di default. Pertanto salvando il
template nella cartella del nostro tema evitiamo di intaccare quelli di default e abbiamo sempre tutto a nostra disposizione nella
maniera più comoda.
Altri tempalte particolari
Esistono però altri template di cui non troviamo traccia nella cartella di default ma che noi possiamo costruire a nostro piacimento. Un
esempio classico è quello delle news. Il template delle news è sempre (o quasi) nel tema che adottiamo. Un esempio, il tema yayya:
» $NEWSSTYLE = "<div class='cap_border'><div class='main_caption'><div class='bevel'>{STICKY_ICON}{NEWSTITLE}
» </div></div></div><div class='menu_content'><table style='width: 100%'><tr>{NEWSIMAGE}
http://www.e107italia.org/e107_plugins/content/content.php?content.19
Pagina 3/3
» <td style='width: 100%; vertical-align: top'>{NEWSBODY}
» {EXTENDED}
» <br /></td></tr></table></div><div class='menu_content'><table class='news_info'><tr><td style='text-align: center; padding:
3px; padding-bottom: 0px; white-space: nowrap'>{NEWSICON}
» </td><td style='width: 100%; padding: 0px; padding-bottom: 0px; padding-left: 2px'>".LAN_THEME_5."
» {NEWSAUTHOR}
»
".LAN_THEME_6."
» {NEWSDATE}
» </td><td style='text-align: center; padding: 3px; padding-bottom: 0px; white-space: nowrap'><img src='".THEME_ABS.
"images/comments_16.png' style='width: 16px; height: 16px' alt='' /></td><td style='padding: 0px; padding-left: 2px; white-space:
nowrap'>{NEWSCOMMENTS}
» </td><td style='padding: 0px; white-space: nowrap'>{TRACKBACK}
» </td><td style='text-align: center; padding: 3px; padding-bottom: 0px; padding-left: 7px; white-space: nowrap'>{EMAILICON}
» {PRINTICON}
» {PDFICON}
» {ADMINOPTIONS}
» </td></tr></table><br /></div>";
Tutto quello che riguarda che le news è nella funzione newsstyle qui riportata. E' semplice vedere dal nome delle shortcode cosa
visualizzano; e noi possiamo agevolmente cambiare quello che ci pare con un po' di esercizio. Tutto ciò è presente in modo diverso
in tutti i temi.