<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="ARTICLE @ XOOPS powered by FeedCreator" -->
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xml:lang="it">
    <title>Xoops Italia :: Articolo</title>
    <tagline>Articolo XML</tagline>
    <link rel="alternate" type="text/html" href="http://www.xoopsitalia.org/modules/article/view.article.php/15/c19"/>
    <id>http://www.xoopsitalia.org/modules/article/view.article.php/15/c19</id>
    <modified>2013-05-23T12:45:49+02:00</modified>
    <author>
        <name>defkon1 at gmail dot com</name>
    </author>
    <generator>ARTICLE @ XOOPS powered by FeedCreator</generator>
    <entry>
        <title>Creare un modulo tutto nostro usando Smarty</title>
        <link rel="alternate" type="text/html" href="http://www.xoopsitalia.org/modules/article/view.article.php/15/c19"/>
        <created>2006-03-15T12:12:00+02:00</created>
        <issued>2006-03-15T12:12:00+02:00</issued>
        <modified>2006-03-15T12:12:00+02:00</modified>
        <id>http://www.xoopsitalia.org/modules/article/view.article.php/15/c19</id>
        <author>
            <name>Defkon1</name>
        </author>
        <summary>Categoria: Sviluppo moduli&lt;br /&gt;Riassunto: Come costruire un modulo semplicissimo. Una struttura base da utilizzare come modulo di default per personalizzare la pagina prinicipale del sito.&lt;a name=&quot;heading1&quot; id=&quot;heading1&quot;&gt;&lt;/a&gt;&lt;h3&gt;PREMESSA&lt;/h3&gt; &lt;p&gt;Eccoci qui con un nuovo tutorial. Stavolta ci occuperemo della costruzione di un semplice modulo. Useremo il motore di template SMARTY.&lt;br /&gt;&lt;strong&gt;IMPORTANTE&lt;/strong&gt;: &lt;br /&gt;per far si che questo tutorial FUNZIONI, bisogna avere già CLONATO il template di default di xoops. &lt;br /&gt;&lt;strong&gt;Per fare questo:&lt;/strong&gt;1 - Andare su &lt;em&gt;Admin-&gt;Temi&lt;/em&gt; e cliccare su CLONA&lt;br /&gt;2 - Dare un NOME a piacere sul sistema sdi template clocnato&lt;br /&gt;3 - Andare su &lt;em&gt;Admin-&gt;Preferences-&gt;Settings&lt;/em&gt; e selezionare il template set appena creato (cerca la voce &lt;em&gt;Template set di default&lt;/em&gt;)&lt;/p&gt; &lt;a name=&quot;heading2&quot; id=&quot;heading2&quot;&gt;&lt;/a&gt;&lt;h4&gt;Creazione modulo chiamato home&lt;/h4&gt; &lt;p&gt;Costruiremo un modulo denominato &quot;home&quot; e lo useremo come modulo di default.&lt;br /&gt;Vale a dire che gli utenti (anonimi e non), quando si collegheranno, vedranno apparire in home una pagina HTML personalizzata tramite i templates di Smarty.&lt;br /&gt;&lt;br /&gt;L'indirizzo del sito sarà quindi&lt;br /&gt;&lt;br /&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.sitoxoopsato.it/modules/home/&quot;&gt;&lt;a href=&quot;http://www.sitoxoopsato.it/modules/home/&quot; title=&quot;http://www.sitoxoopsato.it/modules/home/&quot; rel=&quot;external&quot;&gt;http://www.sitoxoopsato.it/modules/home/&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;dove home è il nostro modulo.&lt;br /&gt;&lt;br /&gt;Per iniziare diamo una sbirciatina alla cartella che conterrà i file del modulo. La struttura interna sarà volutamente MOLTO semplice. Più avanti lo perfezioneremo e lo renderemo più dinamico.&lt;/p&gt; &lt;a name=&quot;heading3&quot; id=&quot;heading3&quot;&gt;&lt;/a&gt;&lt;h4&gt;SCOPO DEL MODULO&lt;/h4&gt; &lt;p&gt;Il modulo non fa altro che visualizzare una pagina HTML semplicissima, che fa uso dei template di smarty.&lt;br /&gt;Per modificare i contenuti di questa pagina basterà andare nella sezione amministrazione e modificare la pagina a piacimentio&lt;br /&gt;come si fa con qualsiasi altro template di xoops.&lt;br /&gt;&lt;/p&gt;&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p&gt;&lt;br /&gt;=&gt; &lt;strong&gt;I contenuti della cartella del modulo home:&lt;/strong&gt; &lt;br /&gt;=&gt; &lt;strong&gt;home&lt;/strong&gt; &lt;br /&gt;=&gt; &lt;strong&gt;--&gt;language&lt;/strong&gt; &lt;br /&gt;=&gt; &lt;strong&gt;--&gt;--&gt;italian&lt;/strong&gt; &lt;br /&gt;=&gt; &lt;em&gt;--&gt;--&gt;--&gt;index.php)&lt;/em&gt; //vuota &lt;br /&gt;=&gt; &lt;em&gt;--&gt;--&gt;--&gt;main.php) &lt;/em&gt;//contiene il nome modulo&lt;br /&gt;=&gt; &lt;em&gt;--&gt;--&gt;--&gt;modinfo.php) &lt;/em&gt;//Info sul modulo&lt;br /&gt;=&gt; &lt;strong&gt;--&gt;templates&lt;/strong&gt;&lt;br /&gt;=&gt; &lt;em&gt;--&gt;--&gt;--&gt;home.html) &lt;/em&gt;//il template vero e proprio&lt;br /&gt;=&gt; &lt;em&gt;header.php)&lt;/em&gt; //Include il mainfile.php&lt;br /&gt;=&gt; &lt;em&gt;footer.php)&lt;/em&gt; //include il footer.php della root&lt;br /&gt;=&gt; &lt;em&gt;index.php)&lt;/em&gt; //Il file principale che include header e footer + il riferimento al template&lt;br /&gt;=&gt; &lt;em&gt;home_logo.gif)&lt;/em&gt; &lt;br /&gt;=&gt; &lt;em&gt;xoops_version.php)&lt;/em&gt; //dati sul modulo &lt;br /&gt;&lt;/p&gt;&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p&gt;&lt;strong&gt;FASE 1:&lt;/strong&gt; Il file index.php - Il file principale del modulo &lt;/p&gt;&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p&gt;&lt;br /&gt;Scrivo per comodità l'intero codice visto che è semplice&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;div class=&quot;xoopsCode&quot; style=&quot;border: 1px solid ;&quot;&gt; &amp;lt;?php&lt;br /&gt;//header.php contiene un semplice rimando al mainfile.php &lt;br /&gt;require('header.php');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Settaggio del template sempre DOPO il il file di inclusione header.php&lt;br /&gt;$xoopsOption['template_main'] = 'home.html';&lt;br /&gt;&lt;br /&gt;// Grafica del sito (intestazione e colonne destra e sinistra)&lt;br /&gt;require(XOOPS_ROOT_PATH.'/header.php');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Grafica del sito (piè pagina)&lt;br /&gt;require(XOOPS_ROOT_PATH.'/footer.php');&lt;br /&gt;?&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Quattro istruzioni. E la index è ok.&lt;br /&gt;1 - Un'istruzione per agganciarsi al file tuttofare mainfile.php nella root del sito&lt;br /&gt;2 -3 -&gt;Due istruzioni per la grafica &lt;br /&gt;4 - Una istruzione per agganciare il file html che è il template smarty memorizzato nella cartella templates&lt;br /&gt;Questo file contiene l'HTML che verrà visualizzato &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p&gt;&lt;strong&gt;FASE 2:&lt;/strong&gt; home.html - Il template vero e proprio&lt;/p&gt;&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p&gt;&lt;br /&gt;Un file HTML semplicissimo&lt;/p&gt;&lt;p&gt;&lt;div class=&quot;xoopsCode&quot; style=&quot;border: 1px solid ;&quot;&gt; &amp;lt;!-- Inizio file --&gt;&lt;br /&gt;&amp;lt;p&gt;&amp;amp;nbsp;&amp;lt;/p&gt;&lt;br /&gt;&amp;lt;table width=&quot;80%&quot; border=&quot;1&quot; align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;br /&gt;&amp;lt;tr&gt; &lt;br /&gt;&amp;lt;td&gt;&amp;lt;p align=&quot;center&quot;&gt;&amp;lt;font color=&quot;#0000CC&quot;&gt;Colonna 1&amp;lt;/font&gt;&amp;lt;/p&gt;&amp;lt;/td&gt;&lt;br /&gt;&amp;lt;td&gt;&amp;lt;p align=&quot;center&quot;&gt;&amp;lt;font color=&quot;#0000CC&quot;&gt;Colonna 2 &amp;lt;/font&gt;&amp;lt;/p&gt;&amp;lt;/td&gt;&lt;br /&gt;&amp;lt;td&gt;&amp;lt;p align=&quot;center&quot;&gt;&amp;lt;font color=&quot;#0000CC&quot;&gt;Colonna 3&amp;lt;/font&gt; &amp;lt;/p&gt;&amp;lt;/td&gt;&lt;br /&gt;&amp;lt;/tr&gt;&lt;br /&gt;&amp;lt;/table&gt;&lt;br /&gt;&amp;lt;!-- FIne file --&gt;&lt;/div&gt;&lt;br /&gt;Una semplice tabella a tre colonne. HTML PURO. Più avanti vedremo come inserire anche le variabili Smarty. Per ora accontentiamoci di inserire HTML PURO e manipolarlo attraverso il menu di amminsitrazione di xoops.&lt;/p&gt;&lt;p&gt;&lt;/p&gt; &lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;strong&gt;FASE 3:&lt;/strong&gt; xoops_version.php&lt;/p&gt;&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;br /&gt;&lt;div class=&quot;xoopsCode&quot; style=&quot;border: 1px solid ;&quot;&gt; &amp;lt;?php&lt;br /&gt;// Questo elenco di istruzioni è abbastanza intuitivo&lt;br /&gt;$modversion['name'] = _MI_HOME_NAME; //Nome del modulo (usa una costante definita nel file modinfo.php dentro la cartella language/italian)&lt;br /&gt;$modversion['version'] = 1.00; //versione del modulo&lt;br /&gt;$modversion['description'] = _MI_HOME_DESC; //Descrizione del modulo&lt;br /&gt;$modversion['credits'] = '&lt;a target=&quot;_blank&quot; href=&quot;http://www.odes.it/&quot;&gt;&lt;a href=&quot;http://www.odes.it&quot; title=&quot;http://www.odes.it&quot; rel=&quot;external&quot;&gt;http://www.odes.it&lt;/a&gt;&lt;/a&gt;'; // credits&lt;br /&gt;$modversion['author'] = 'dan-tom';//autore&lt;br /&gt;$modversion['help'] = 'help.html'; //Un eventuale file di help che si vuole inglobare per spiegare come funziona il modulo&lt;br /&gt;$modversion['license'] = 'GPL see LICENSE';//tipo di licenza&lt;br /&gt;$modversion['official'] = 0;&lt;br /&gt;$modversion['image'] = 'home_slogo.jpg';//logo&lt;br /&gt;$modversion['dirname'] = 'home';//Nome della directory del modulo&lt;br /&gt;&lt;br /&gt;// Admin&lt;br /&gt;$modversion['hasAdmin'] = 0; //il modulo non ha amministrazione (0) &lt;br /&gt;$modversion['adminmenu'] = '';&lt;br /&gt;&lt;br /&gt;// Menu&lt;br /&gt;$modversion['hasMain'] = 1;&lt;br /&gt;&lt;br /&gt;// Templates&lt;br /&gt;$modversion['templates'][1]['file'] = 'home.html';//Nome del template&lt;br /&gt;$modversion['templates'][1]['description'] = 'Pagina di ingresso';//descrizione&lt;br /&gt;?&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;strong&gt;FASE 4:&lt;/strong&gt; modinfo.php - Nella cartella language/italian&lt;/p&gt;&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;br /&gt;&lt;div class=&quot;xoopsCode&quot; style=&quot;border: 1px solid ;&quot;&gt; &amp;lt;?php&lt;br /&gt;// $Id: modinfo.php,v 1.5 26/02/2004 23:36:33 dan-tom $&lt;br /&gt;// Informazioni Modulo&lt;br /&gt;&lt;br /&gt;//Nome del modulo&lt;br /&gt;define(&quot;_MI_HOME_NAME&quot;,&quot;Home&quot;);//Costante inserita nel file xoops_version...ricordate?&lt;br /&gt;// Breve descrizione del modulo //idem&lt;br /&gt;define(&quot;_MI_HOME_DESC&quot;,&quot;Descrizione mio modulo&quot;);&lt;br /&gt;?&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;strong&gt;FASE 5:&lt;/strong&gt; main.php - Nella cartella language/italian&lt;/p&gt;&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;div class=&quot;xoopsCode&quot; style=&quot;border: 1px solid ;&quot;&gt; &amp;lt;?php&lt;br /&gt;define('_MI_HOME_NAME', 'Home');//anche qui definiamo il nome del modulo&lt;br /&gt;?&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;TUTTO QUI&lt;br /&gt;Ora passiamo alla sua installazione&lt;br /&gt;&lt;br /&gt;Carichiamo la cartella &quot;home&quot; con dentro i nostri file nella cartella modules del nostro portale&lt;br /&gt;Poi andiamo nel menu amministrazione e installiamo il modulo.&lt;br /&gt;&lt;br /&gt;Poi:&lt;br /&gt;1 - Andiamo nella sezione GROUPS e assicuriamoci che gli utenti anonimi e registrati hanno diritto di accesso al modulo&lt;br /&gt;2 - Andiamo nella pagina template. Cloniamo il template principale se non lo abbiamo ancora fatto&lt;br /&gt;3 - Cercate la voce &quot;home&quot; nell'elenco dei template appena clonati e clicciamo su GENERATE alla voce &quot;home&quot;. Questo fa si che l'html del template venga caricato nel database&lt;br /&gt;4 - Ora potete accedere al template e modificarlo a piacere cliccando su modifica&lt;br /&gt;5 - Andate nella sezione preferenze e impostate il modulo come modulo di default.&lt;br /&gt;&lt;br /&gt;FINE &lt;br /&gt;&lt;br /&gt;Da questo momento, non appena puntate l'indirizzo alla index/root del sito, vi apparira la vostra tabella a tre colonne del modulo appena costruito. Se volete che appare solo quella a partire dall'alto, eliminate i blocchi centrali nella sezione blochhi del menu' di amministrazione.&lt;br /&gt;&lt;br /&gt;Spero di essere stato chiaro &lt;br /&gt;alla prossima,&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;dan-tom (&lt;a href=&quot;mailto:d.tomasino@xoopsitalia.org&quot;&gt;&lt;a href=&quot;mailto:d.tomasino@xoopsitalia.org&quot; title=&quot;d.tomasino@xoopsitalia.org&quot;&gt;d.tomasino@xoopsitalia.org&lt;/a&gt;&lt;/a&gt;) &lt;/p&gt;&lt;br /&gt;</summary>
    </entry>
</feed>
