Inclusione di frammenti html

Questa tematica è già stata affrontata nel capitolo 1 di questo stesso manuale, ma la riprendiamo ed ampliamo qui. Riguarda esclusivamente le paginaìe mastro classiche.

Un grande sito che contiene molte pagine mastro è un sito che contiene molte pagine simili. Quando studiate l'immagine coordinata di un un sito web finite sempre per elaborare una testata, un piè di pagina, una barra di navigazione… (in termini HTML5: header, footer e nav) tutti questi elementi finiscono, duplicati, in tutte le pagine mastro. Si verifica così, per quanto minimizzato, il problema che affligge sempre i siti sviluppati con metodo tradizionale: quando desiderate modificare l'aspetto grafico generale dovete modificare molte pagine distinte applicando le stesse modifiche a ciascuna. Usando Sar.-At e un sito di centomila pagine virtuali magari dovrete modificare soltanto venti pagine mastro, ma è comunque un lavoretto noioso.

Per chi usa un programma autore come Dreamweaver questo non è un problema, perché quei programmi offrono meccanismi propri di templating per alterare un gruppo di pagine simili in simultaneo. Gli altri troveranno utile l'istruzione INCLUDE di showPage.

Prendete una delle pagine mastro e localizzate il codice HTML della testata. Per fare un esempio banale, potremmo trovare in home page logo e titolo del sito e lo stesso HTML replicato in tutte le pagine mastro. Usando un editore di testo, tagliate la testata e registratela in un file esterno chiamato magari "header.ihtml" ("ihtml" sta per "html da includere", ma potete utilizzare qualsiasi altra estensione che desideriate, comprese html, htm, xml, css e txt).

Al posto della testata tagliata inserite una istruzione Sar-At che la richiama, ottenendo questo effetto complessivo:

  <!DOCTYPE html>
  <html lang='it'>
  <head>
        <meta charset='utf-8' />
        <title>Demo</title>
  </head>
  <body>
  {INCLUDE header.ihtml}
  Bla bla bla
  </body>
  </html>

La stessa istruzione INCLUDE può venire utilizzata in tutte le altre pagine mastro. Ora, quando volete modificare la testata di ogni pagine del sito, dovete editare il solo file ihtml.

Se create varianti localizzate dei file di include (per esempio: header.ihtml.it e header.ihtml.ru) showPage sceglie e inserisce automaticamente la variante adatta, sulla base della lingua della pagina corrente.