<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="ARTICLE @ XOOPS powered by FeedCreator" -->
<rss version="0.91">
    <channel>
        <title>Xoops Italia :: Articolo</title>
        <description><![CDATA[Articolo XML]]></description>
        <link>http://www.xoopsitalia.org/modules/article/view.article.php/37/c8</link>
        <lastBuildDate>Sat, 17 May 2008 04:27:17 +0200</lastBuildDate>
        <generator>ARTICLE @ XOOPS powered by FeedCreator</generator>
        <image>
            <url>http://www.xoopsitalia.org/modules/article/images/logo.png</url>
            <title>Xoops Italia :: Articolo</title>
            <link>http://www.xoopsitalia.org/modules/article/</link>
            <width>80</width>
            <height>15</height>
            <description>Articolo XML</description>
        </image>
        <language>it</language>
        <managingEditor>defkon1 at gmail dot com</managingEditor>
        <webMaster>defkon1 at gmail dot com</webMaster>
        <category>Tutorial Avanzati</category>
        <item>
            <title>ErrorPages</title>
            <link>http://www.xoopsitalia.org/modules/article/view.article.php/37/c8</link>
            <description><![CDATA[Categoria: Temi e templates<br />Sommario: Stanchi delle scarne pagine d'errore fornite dal vostro web server?<br />E' giunto il momento di integrarle nel vostro Xoops utilizzando il tema da voi scelto!<a name="heading1" id="heading1"></a><h2>0. Introduzione</h2>  <p align="justify" style="margin-bottom: 0cm;">Nel presente tutorial vedremo come personalizzare le pagine d'errore del nostro server inserendo la grafica del nostro portale e integrando il tutto in maniera trasparente.</p><p align="justify" style="margin-bottom: 0cm;">Per gli esempi ho utilizzato una installazione di test di Xoops 2.0.13.2 con tema blue_lagoon. </p><br /><div align="center"><img src="http://www.xoopsitalia.org/uploads/tutorial_img/errorpages/1-screen.jpg" alt="  " /></div><br /><div align="justify"><div align="justify">E' inoltre necessario ricordare che la tecnica di personalizzazione che useremo si basa sulle funzionalità offerte dal server Apache, e non potrà essere usata su NT (a meno di diverse modifiche).<br /><br />Cos'è una pagina d'errore?<br />E' semplicemente una pagina (spesso HTML) su cui venite indirizzati dal server web qualora si verifichi una richiesta errata o una generica situazione d'errore, come ad esempio la richiesta di una pagina inesistente o un crash del server.<br /><br />Se provate a digitare sul vostro portale l'indirizzo <strong><span style="font-style: normal;"><a href="http://www.tuosito.com/paginainesistente.php" title="http://www.tuosito.com/paginainesistente.php" target="_blank">http://www.tuosito.com/paginainesistente.php</a></span></strong>, verrete indirizzati sulla relativa pagina d'errore (codice errore: 404).</div><br /><div align="justify">Normalmente, le pagine d'errore fornite di base dai server web sono veramente scarne:</div></div><div align="center"><img src="http://www.xoopsitalia.org/uploads/tutorial_img/errorpages/2-screen.jpg" alt="  " /></div> <p align="justify" style="margin-bottom: 0cm;">Da qui l'esigenza per un portale serio di personalizzare le ErrorPages.</p><p align="justify" style="margin-bottom: 0cm;"></p><hr width="100%" size="2" /><p align="justify" style="margin-bottom: 0cm;"></p><a name="heading2" id="heading2"></a><h2>1. Il file .htaccess</h2><p align="justify" style="margin-bottom: 0cm;"> </p> <p align="justify" style="margin-bottom: 0cm;">Se nel vostro sito avete installato il modulo Protector o se avete un minimo di dimestichezza con le tematiche di Sicurezza, avrete già incontrato questo utilissimo file di configurazione di Apache; in questo caso lo utilizzeremo per sovrascrivere le informazioni relative al redirect del server web in caso di errore.</p>  <p align="justify" style="margin-bottom: 0cm;">Aprite pertanto il file .htaccess della vostra root, è inserite il seguente codice:</p><p align="justify" style="margin-bottom: 0cm;"> </p>   <p align="justify" style="margin-bottom: 0cm;"></p><div style="border: 1px solid ;" class="xoopsCode">ErrorDocument 400 <a href="http://www.tuosito.com/errorpages/400.php" title="http://www.tuosito.com/errorpages/400.php" target="_blank">http://www.tuosito.com/errorpages/400.php</a><br />ErrorDocument 401 <a href="http://www.tuosito.com/errorpages/401.php" title="http://www.tuosito.com/errorpages/401.php" target="_blank">http://www.tuosito.com/errorpages/401.php</a><br />ErrorDocument 403 <a href="http://www.tuosito.com/errorpages/403.php" title="http://www.tuosito.com/errorpages/403.php" target="_blank">http://www.tuosito.com/errorpages/403.php</a><br />ErrorDocument 404 <a href="http://www.tuosito.com/errorpages/404.php" title="http://www.tuosito.com/errorpages/404.php" target="_blank">http://www.tuosito.com/errorpages/404.php</a><br />ErrorDocument 500 <a href="http://www.tuosito.com/errorpages/500.php" title="http://www.tuosito.com/errorpages/500.php" target="_blank">http://www.tuosito.com/errorpages/500.php</a><strong><strong></strong></strong><br />   </div><br />Nel mio caso il dominio corrisponde a ermes, ovvero il nome del mio sistema locale utilizzato, per cui i miei link saranno qualcosa del tipo  <strong><a href="http://ermes/errorpages/400.php" title="http://ermes/errorpages/400.php" target="_blank">http://ermes/errorpages/400.php</a></strong>.<br /><br /><br /><hr width="100%" size="2" /><br /><a name="heading3" id="heading3"></a><h2>2. Le pagine d'errore</h2><div align="justify">Le pagine di errore che andremo a creare coprono le seguenti casistiche:<br /><br />Errore 400  Richiesta errata (Bad Request)<br />Errore 401  Necessaria autorizzazione (Authorization required)<br />Errore 403  Accesso negato (Forbidden)<br />Errore 404  Pagina non trovata (Not found)<br />Errore 500  Errore interno del server (Internal server error)</div>       <p align="justify" style="margin-bottom: 0cm;">Create la cartella <em>/errorpages</em> e create uno dei file php visti sopra, ad esempio il file <em>404.php</em>.</p> <p align="justify" style="margin-bottom: 0cm;">Apritelo nel vostro editor e aggiungete il codice standard Xoops:</p> <p align="justify" style="margin-bottom: 0cm;"></p><div class="xoopsCode" style="border: 1px solid ;">&lt;?php<br />include("../mainfile.php");<br />include(XOOPS_ROOT_PATH."/header.php");<br /><br />    <p align="justify" style="margin-bottom: 0cm;">include(XOOPS_ROOT_PATH."/footer.php");<br />?></p> </div><br /> <p></p><div align="justify">A questo punto vi si aprono due strade davanti: la via dell'HTML, semplice e rozza, e la via del CSS, leggermente più complicata ma indubbiamente più pulita gratificante.<br /><div align="justify">Se avete optato per la prima, basterà racchiudere il codice per l'header e il codice per il footer in due blocchi e inserirvi nel mezzo il codice HTML della vostra pagina d'errore, ad esempio:</div></div>  <p align="justify" style="margin-bottom: 0cm;"></p><div class="xoopsCode" style="border: 1px solid ;">&lt;?php<br />include("../mainfile.php");<br />include(XOOPS_ROOT_PATH."/header.php");<br />?><br /><br />404: pagina non trovata<br /><br />Siamo spiacenti, ma la pagina cercata è insesistente o è stata rimossa.<br /><p></p>        <p align="justify" style="margin-bottom: 0cm;">include(XOOPS_ROOT_PATH."/footer.php");<br />?></p>  </div><br /> <p></p><br /><div align="justify">Salvate e avete concluso.<br /><br />Se invece volete intraprendere la via del CSS, rendendo il tutto graficamente migliore e più semplice da gestire, la vostra pagina d'errore dovrà contenere qualcosa del genere:<br /><br /><div align="left" class="xoopsCode" style="border: 1px solid ;">&lt;?php<br />include("../mainfile.php");<br />include(XOOPS_ROOT_PATH."/header.php");<br /><br />echo "&lt;div class="blockErrorTitle">404: Pagina non trovata&lt;/div>";<br />echo "&lt;br style="clear:both">";<br />echo "&lt;div class="blockErrorContent">Siamo spiacenti, ma la pagina cercata è inesistente o è stata rimossa.&lt;/div>";<br />echo "&lt;a href="history.go(-1)">Torna indietro&lt;/a>&lt;/div>";<br /><br />include(XOOPS_ROOT_PATH."/footer.php");<br />?> </div><br /> </div><div align="justify">ATTENZIONE: per problemi di parsing automatico del testo ho dovuto eliminare la \ davanti ai doppi apici all'interno delle stringhe <strong>echo</strong>. Voi ricordatevi di metterle, altrimenti l'editor impazzirà.<br />Inoltre ho dovuto eliminare il tag <strong>javascript : </strong>davanti a <strong>history.go(-1) </strong>per lo stesso motivo.<br /><br />Stavolta il lavoro non è già finito. Come potete vedere abbiamo deciso di utilizzare due classi div personalizzate, <strong>blockErrorTitle</strong> e <strong>blockErrorContent</strong> che dobbiamo definire all'interno del file style.css del nostro tema.<br /><br />Aprite tale file e in coda inserite le due classi personalizzate:<br /><br /><div class="xoopsCode" style="border: 1px solid ;">div .blockErrorTitle{<br />    background-color: #ffcccc;<br />    text-align:center;<br />    border: 1px dashed #ff0000;<br />    margin: 10px;<br />    font-family: Verdana, Courier New, Courier, Monospace;<br />    padding: 10px;<br />    font-weight: bold;<br />    font-size: x-large;<br />    float: left;<br />}<br /><br />div .blockErrorContent{<br />    text-align: justify;<br />    margin: 10px;<br />    font-family: Verdana, Courier New, Courier, Monospace;<br />    padding: 10px;<br />}<br /> </div><br /><div align="justify">Salvate tutto e il gioco è fatto.<br /><br />Uno dei vantaggi dell'utilizzo della tecnica dei CSS è quella di poter modificare completamente l'aspetto della pagina, semplicemente giocando con le varie proprietà specificate nelle due classi personalizzate. In questo tutorial ad esempio abbiamo optato per un titolo ben visibile con sfondo rosso chiaro e bordo tratteggiato e un testo semplice, ma le possibili variazioni sul tema sono infite.<br /><br /><div align="justify">Vista la prima, fare tutte le altre pagine è semplice, basterà cambiare il titolo e il testo della pagina. Ad esempio il file 403.php sarà:</div></div></div><br /><div align="left" class="xoopsCode" style="border: 1px solid ;"> include("../mainfile.php");<br />include(XOOPS_ROOT_PATH."/header.php");<br /><br />echo "echo "&lt;div class="blockErrorTitle">403: Accesso negato&lt;/div>";<br />echo "&lt;br style="clear:both">";<br />echo "echo "&lt;div class="blockErrorContent">Siamo spiacenti, ma l'accesso alla pagina richiesta è proibito.&lt;/div>";<br />echo "&lt;a href="history.go(-1)">Torna indietro&lt;/a>&lt;/div>";<br /><br />include(XOOPS_ROOT_PATH."/footer.php");<br />?> </div><br /><div align="justify">Una volta terminate le vostre pagine, vediamo il risultato. Digitate nuovamente  <strong><a href="http://www.tuosito.com/paginainesistente.php" title="http://www.tuosito.com/paginainesistente.php" target="_blank">http://www.tuosito.com/paginainesistente.php</a></strong>, e, se avete fatto tutto correttamente, dovreste vedere la pagina d'errore 404 correttamente integrata nella grafica del vostro portale. <br /><br /><div align="center"><img alt="  " src="http://www.xoopsitalia.org/uploads/tutorial_img/errorpages/3-screen.jpg" /></div></div><p></p><p align="justify" style="margin-bottom: 0cm;"></p><p align="justify" style="margin-bottom: 0cm;"> </p><br />]]></description>
            <author>Defkon1</author>
            <pubDate>Tue, 11 Apr 2006 00:15:45 +0200</pubDate>
        </item>
    </channel>
</rss>
