lunedì 28 maggio 2012

Includere un file con SSI

Includere un file HTML figlio in un file HTML padre, con SSI

Questo metodo di inclusione lato server, è molto utile quando si vuole utilizzare una parte di codice, ripetuto in più pagine di un sito internet, come ad esempio un menù, il logo in alto o gli indirizzi di solito in basso nella pagina.
Vediamo prima di tutto il codice:
<!--#include virtual="menu.htm"-->

Spieghiamo:

la sintassi del Server Side Include (SSI) è molto semplice: comando parametro e valore, dove valore è l'url del nostro spezzone di codice da includere.

Nell'esempio ho riportato l'url relativo riferito al menù che voglio inserire nella mia pagina. Se il menù si trovasse in una cartella chiamata INC l'esempio cambierebbe in:
<!--#include virtual="INC/menu.htm"-->

Nel file menu.htm non ci devono essere i tag strutturali della pagina HTML ma soltanto lo spezzone di codice da includere.

Un esempio completo di pagina padre e inclusione di spezzone potrebbe essere questo:

file padre example.shtml

<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Inclusione con SSI</title>
 </head><body>
  <p>Contenuto della pagina padre parte superiore della pagina</p>

  <!--#include virtual="menu.htm"-->

  <p>Contenuto della pagina padre parte inferiore della pagina</p>
 </body>
</html>

file figlio menu.htm

  <ul>
    <li><a href='#'><span>Home</span></a></li>
    <li><a href='#'><span>Prodotti</span></a>
    <li><a href='#'><span>Chi siamo</span></a></li>
    <li><a href='#'><span>Contatti</span></a></li>
  </ul>

Nota:

Affinché l'inclusione vada a buon fine dobbiamo rispettare due vincoli:

  1. Il nostro server deve avere SSI attivato
  2. La nostra pagina padre deve avere l'estensione shtml. Si dovrà chiamare ad esempio: example.shtml.
    Va invece bene qualsiasi estensione per il file figlio che può essere nominato, come riportato nell'esempio: menu.htm. Nel file figlio sarà possibile inserire solo codice HTML.

Nessun commento:

Posta un commento