| Scritto da Administrator,
26-01-2009 12:06
|
Pagina vista : 505 |
Favoriti : 57 |
Pubblicato in : Notizie, Ultime |
Come convertire un template da Joomla1.0 a Joomla 1.5Come si trasforma un template per joomla 1.0 in uno per Joomla! 1.5 nativo?Tutti i template Joomla! 1.0x non possono operare su Joomla! 1.5 in modalita' nativa. Si puo' usare il plugin legacy ma e' meglio convertire il template da 1.0x a 1.5 nativo. La prossima domanda e' : come convertire il template in un template nativo per Joomla 1.5? Prima di fare questo dobbiamo renderci conto che Joomla! 1.5 offre una serie di opzioni in piu' da poter inserire nei suoi templates rispetto alla versione 1.0x. I templates per Joomla! 1.5 sfruttano queste nuove potenzialita' e vi daranno la possibilita' di avere un sito web con molte opzioni prima non disponibili,questo e' il motivo per cui andremo a convertire il tema in esempio. Ora che abbiamo afferrato il concetto di conversione in Joomla! 1.5, andremo ad illustrare in questo tutorial come poter convertire il template RokWebify ,in modalita' completamente nativa. Il processo e' semplice con RokWebify e potrete assolutamente usare questo how to per convertire altri templates, ma andiamo ora a vedere i files da editare: 1. index.php 2. templateDetails.xml
Editing di index.phpApriamo index.php file Lo step iniziale sara' quello di editare index.php con il nostro editor preferito,gia' che si parla di Open Source vi consiglio Notepad++ (ottimo editor) Link Sito Notepad++ http://notepad-plus.sourceforge.net/it/site.htm Prima del tag <head> Una volta che index.php verra' aperto con il vostro editor, andremo ad editare la sezione prima del tag <head>. Nella prima linea di codice troveremo: <?php defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); ?> Andremo a cambiarla in questo modo: <?php // no direct access defined( '_JEXEC' ) or die( 'Restricted index access' ); ?> Noteremo che la sintassi di sicurezza e' cambiata rispetto alla versione precedente. Procediamo nel nostro cammino alla conversione del template, dove troverete:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> Andra' modificato.In Joomla! 1.5 abbiamo bisogno di editare il file in questo modo: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language ?>" dir="<?php echo $this->direction; ?>"> Questo cambiamento migliora la capacita' di cambiare il linguaggio in Joomla, nel linguaggio da voi usato,anche con il linguaggio Arabo. Fra tags < head > & < / head >Step 1Il prossimo step sara' quello di editare il codice compreso tra <head> e </head> . Andiamo a vedere come pulire il codice con qualche piccolo cambiamento: <?php if ( $my->id ) { initEditor(); } mosShowHead(); ?> <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />Diventera': <jdoc:include ="head" /> Step 2Nel prossimo step nel template RokWebify editeremo l' area che esegue il caricamento dei fogli di stile e della favicon. Convertiremo: <link href="/<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe-> getTemplate(); ?>/css/template_css.css" rel="stylesheet" type="text/css" /> <!--[if lte IE 6]> <link href="/<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe-> getTemplate();?>/css/template_ie.css" el="stylesheet" type="text/css" /> <![endif]--> <link rel="shortcut icon" href="/<?php echo $mosConfig_live_site;?> /images/favicon.ico" /> In: <link href="/templates/<?php echo $this->template ?>/css/template_css.css" rel="stylesheet" type="text/css" /> <!--[if lte IE 6]> <link href="/templates/<?php echo $this->template ?>/css/template_ie.css" rel="stylesheet" type="text/css" /> <![endif]--> <link rel="shortcut icon" href="/images/favicon.ico" mce_href="/images/favicon.ico" /> Potremo notare come <?php echo $mosConfig_live_site;?> e <?php echo $mainframe->getTemplate(); ?> vengono sostituiti da <?php echo $this->template ?> molto piu' veloce e chiaro. Index.php linksOra passiamo al blocco principale del template :il body. In questo step andremo a modificare lievemente la sintassi di: <a href="/<?php echo $mosConfig_live_site;?>" class="nounder"> <img src="/<?php echo $mosConfig_live_site;?> /images/blank.png" border="0" alt="" id="logo" /></a> <?php echo $mosConfig_live_site;?> avra' bisogno di essere cambiato in <?php $this->url ?> La tringa completa sara' quindi scritta in questo modo: <a href="/<?php $this->url ?>" class="nounder"><img src="/<?php $this->url ?> images/blank.png" border="0" alt="" id="logo" /></a> Dovremo fare lo stesso in tutta la pagina ovunque troveremo <?php echo $mosConfig_live_site;?> dovremo cambiarlo in <?php $this->url ?> Sintassi dei ModuliNoteremo che la sintassi per il caricamento dei moduli cambia in modo drastico. La normale sintassi in Joomla! 1.0x e' <?php mosLoadModules('nome modulo', -1); ?>con il nome del modulo scritto tra le ' ' seguito da -3,-2,-1,0 o 1. Joomla! 1.5 usa un approccio differente con <jdoc:include type="modules" name="nome_modulo" style="option" /> ci sono 5 opzioni di default, rounded(-3), xhtml(-2), raw(-1), table(0) e horiz(1). Quindi ora andremo a cambiare la sintassi <?php mosLoadModules('nome modulo', -1); ?>nel nostro Joomla! 1.5: Modulo Top<?php mosLoadModules('top', -1); ?>in <jdoc:include type="modules" name="top" style="raw" /> Modulo User3<?php mosLoadModules('user3', -1); ?>in <jdoc:include type="modules" name="user3" style="raw" /> Modulo user2<?php mosLoadModules('user1', -2); ?>in <jdoc:include type="modules" name="user1" style="xhtml" /> Modulo User2<?php mosLoadModules('user2', -1); ?>in <jdoc:include type="modules" name="user2" style="xhtml" /></php> Modulo Inset<?php mosLoadModules('inset', -2); ?>in <jdoc:include type="modules" name="inset" style="xhtml" /> Modulo Right<?php mosLoadModules('right', -2); ?>in <jdoc:include type="modules" name="right" style="xhtml" /> Modulo User4<?php mosLoadModules('user4', -2); ?>in <jdoc:include type="modules" name="user4" style="xhtml" /> Modulo User5<?php mosLoadModules('user5', -2); ?>in <jdoc:include type="modules" name="user5" style="xhtml" /> Modulo User6<?php mosLoadModules('user6', -2); ?>in <jdoc:include type="modules" name="user6" style="xhtml" /> Modulo Debug<?php mosLoadModules('debug', -1); ?>in <jdoc:include type="modules" name="debug" style="raw" /> Moduli CollapseUna volta completate le modifiche, dobbiamo editare il codice php code che controlla i moduli collapse,ad esempio: <?php if(mosCountModules('user6')) : ?>cambiera' in <?php if($this->countModules('user6')) : ?>In questa istanza, solo mosC cambiera' con $this->c. un semplice cambiamento che faremo anche in <?php if(mosCountModules('user4') or mosCountModules('user5') or mosCountModules('user6')) : ?>sostituendolo con <?php if($this->countModules('user4 or user5 or user6')) : ?>Qui di seguito le sintassi da cambiare: Moduli User1 & User2<?php if(mosCountModules('user1') or mosCountModules('user2')) : ?>in <?php if($this->countModules('user1 or user2 ')) : ?>Modulo User1<?php if(mosCountModules('user1')) : ?>in <?php if($this->countModules('user1')) : ?>Modulo User2 <?php if(mosCountModules('user2')) : ?>in <?php if($this->countModules('user2')) : ?>Modulo Right <?php if(mosCountModules('right')) : ?>in <?php if($this->countModules('right')) : ?>Moduli User4 User5 & User6<?php if(mosCountModules('user4') or mosCountModules('user5') or mosCountModules('user6')) : ?>in <?php if($this->countModules('user4 or user5 or user6')) : ?>Modulo User4<?php if(mosCountModules('user4')) : ?>in <?php if($this->countModules('user4')) : ?>Modulo User5<?php if(mosCountModules('user5')) : ?>in <?php if($this->countModules('user5')) : ?>Modulo User6<?php if(mosCountModules('user6')) : ?>in <?php if($this->countModules('user6')) : ?>Mainbody e PathwayLa parte finale della conversione dell'index.php di RokWebify e' alterare la sintassi per caricare il pathway l'area del mainbody. PathwayIn Joomla 1.0x , il pathway viene caricato con <?php mosPathway(); ?> lo cambieremo in <jdoc:include type="module"" name="breadcrumb" style="raw" /> MainbodyMainbody(la parte dove vengono caricati i contenuti e i componenti)cambiera' da <?php mosMainbody(); ?> a <jdoc:include type="component" /> Piccola nota segnalata da tonicopi in questo post: http://forum.joomla.it/index.php/topic,60774.msg262511/topicseen.html#msg262511 Joomla! 1.5 gestisce i messaggi di sistema in modo diverso da Joomla! 1.0- Orbene, se non inseriamo la stringa che li richiama nel codice della index.php del template noi non otterremo in frontend i messaggi di errore o di avviso che Joomla ci vuole dare. Questa la stringa da: Codice: <jdoc:include type="message" /> da inserire nella index.php del template immediatamente sopra Codice: <jdoc:include type="component" /> Questo quindi il codice completo Codice: <jdoc:include type="message" /> <jdoc:include type="component" /> Editiamo il file templateDetails.xmlLo step finale alla conversione del template in un template nativo per Joomla! 1.5 e' quello di editare il file .xml, templateDetails.xml. Cerchiamo <mosinstall version="1.0" type="template"> e cambiamolo in <install version="1.5" type="template"> Dovremo anche editare la parte del mosinstall, che chiude il tag di install cambiando </mosinstall> in </install> nella parte piu' in basso del file. Abbiamo terminato la conversione del template per Joomla! 1.5 non ci resta che andare ad installarlo come un qualsiasi altro template. Potremmo fare un ulteriore modifica per conformarlo in modo corretto: Cerchiamo </files> e aggiungiamo: <positions> <position>top</position> <position>inset</position> <position>breadcrumbs</position> <position>right</position> <position>debug</position> <position>user1</position> <position>user2</position> <position>user3</position> <position>user4</position> <position>user5</position> <position>user6</position> <positions> Ultimo aggiornamento: 26-01-2009 12:09
|