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: » <?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.