Includere è meglio
Quando si progettano siti web, ci sono sempre alcune parti della pagina che restano comuni a tutto il sito, per evitare di riportare il codice di queste parti su tutte le pagine, è buona norma renderle separate e includerle nelle pagine con dei riferimenti detti Include. Questo sistema dà l'oggettivo vantaggio di permettere modifiche agli oggetti comuni senza dovere mettere mano a tutto quanto il sito.
Vi state chiedendo come mai vi parliamo degli include in questo articolo? Molto semplice perché il sistema che vi illustreremo fa proprio uso degli include per realizzare la versione stampabile di una pagina web.
Per prima cosa vediamo come funziona normalmente un include in PHP, la stringa di codice è molto semplice:
<?php include $_SERVER["DOCUMENT_ROOT"]."/library/include/menu.php" ?>
Come sa chi ha già utilizzato PHP, tutte le stringhe di codice che lo riguardano devono essere chiuse tra <? e ?>, include come facilmente intuibile, è il comando che permette "l'inclusione" di codice dentro a una pagina PHP.
$_SERVER["DOCUMENT_ROOT"] è una variabile molto utile, normalmente in PHP bisognerebbe indicare nel percorso del file che contiene il codice da includere , il percorso fisico sul server, e non quello rispetto alla radice del sito internet, usare la variabile evita di dover scoprire qual è il percorso sul server del vostro sito, oltre tutto questo vi permette di trasportare il vostro sito su qualsiasi server vogliate, anche uno di test sulla rete locale.
L'ultima parte tra virgolette è il percorso del file da includere a partire dalla radice del sito.
Come si fa?
Normalmente un sito web è composta da alcuni elementi comuni, solitamente ci sarà un header, un menu, un footer, e naturalmente la parte centrale con i contenuti, lo scopo è fare in modo che nel codice della pagina sia presente solo il contenuto, cosa peraltro utile il giorno che decideremo di rivedere il lay-out del sito. Usare gli include in questa situazione sarebbe già una cosa da fare sempre, per gli evidenti vantaggi che vi abbiamo illustrato, ma prima di spiegarvi come si fa guardate il risultato che si può ottenere nelle due figure qua sotto:

Figura 1: una pagina web come viene visualizzato normalmente dal browser

Figura 2: la stessa pagina con la funzione stampa attivata
Come creare gli include
Il trucco per ottenere questo risultato, sta nel creare due include alternativi a seconda che serva per la visualizzazione "normale" o di quella per la stampa.
La creazione degli include è semplicissima, con un qualsiasi editore di testi come NotePad su Windows o BBEdit su Mac, tagliate dalla pagina web il codice che volete separare e incollatelo in un nuovo file con estensione .php, naturalmente, anche la pagina web deve avere la stessa estensione, altrimenti non verrebbe riconosciuta dal server come una pagina PHP. Creare quindi il codice per un include alternativo, se non dovete includere niente nella versione stampabile fate un file vuoto.
Incollare il listato qua sotto nel punto della pagina web dove avete tagliato il codice per creare gli include.
<?
if ($print == '')
include $_SERVER["DOCUMENT_ROOT"]."/library/include/menu.php";
elseif ($print == 'yes')
include $_SERVER["DOCUMENT_ROOT"]."/library/print/menu.php";
?>
Come possibile vedere la funzione Inlcude è stata utilizzata insieme ai parametri IF e ELSEIF con la variabile $print. Quello che avviene in pratica è che se sulla pagina viene richiamato il parametro $print=Yes viene utilizzato il secondo include invece del primo.
Dove adesso è presente l'indirizzo /library/include/menu.php inserire l'indirizzo dell'include da visualizzare normalmente sulla pagina, dove è presente l'indirizzo /library/print/menu.php inserire invece l'include per la stampa.
Come attivare la funzione stampa
Ora che tutta la pagina web è pronta, bisogna prevedere un sistema per attivare la funzione stampa, questo è molto semplice perché come abbiamo detto è sufficiente richiamare la funzione $print=yes.
Per prima cosa all'inizio della pagina, prima del tag <HTML>, inserire il seguente codice, che fa in modo che la pagina sia in grado di ricevere il parametro per la stampa:
<?php $print = $_GET['print']; ?>
Adesso non resta che inserire un link da qualche parte, si esso testuale o dentro a un'immagine il tag HREF deve essere fatto in questo modo:
<a href="?print=yes" target="_blank" title="Versione stampabile">
Conclusioni
In questo breve articolo abbiamo visto come sia semplice creare la versione stampabile di un sito web utilizzando semplicemente gli Include. Naturalmente è possibile fare la stessa cosa con altri metodi, ma questo è sicuramente il più veloce da realizzare.
|