Viste di tabelle correlate

In alcuni casi può rendersi necessario il collegamento tra loro delle informazioni contenute in due o più sezioni di un sito Sar-At.

Immaginate di voler creare un sito web che presenta marche e modelli di automobili. Avremo una sezione chiamata "marche" che contiene, tra le altre, queste informazioni:

Title

Nazione

Id

Volksvagen

Germania

1

Ford

USA

2

Honda

Giappone

3

Nissan

Giappone

4

Avremo anche una sezione "modelli" che contiene, tra le altre, queste informazioni:

Title

Id

Id_marca

Civic

100

3

Insight

101

3

Lupo

102

1

È evidente che ci sono molte cose da dire sulle case automobilistiche , oltre ai modelli di auto che producono. Possiamo ben immaginare che la pagina sulla Ford conterrà molte informazioni.

È anche ovvio che ci sono molte informazioni da comunicare sui modelli di auto; per esempio, la pagina sulla Lupo sarà ricca di foto, testi, filmati eccetera. Immaginiamo però di voler dedicare una pagina mastro a mostrare le correlazioni tra marche e modelli. Bisognerà, per esempio, mostrare insieme le informazioni fondamentali sulla Fiat e anche l'elenco dei modelli prodotti da Fiat. La pagina mastro "marche-modelli.html" e farà riferimento alle marche. Se la chiamiamo a visualizzare l'id 3 vedremo tutto ciò che si può voler sapere su Honda, compresi i link alle pagine di Civic e Insight.

Per mostrare dentro questa pagina mastro tutti e soli i modelli prodotti dalla Casa selezionata , creiamo una Vista sui modelli in questo modo:

In altre parole: la Vista "modelli_della_marca" apparirà all'interno della pagina "marche-modelli.html". Quando Sar-At la incontra andrà a selezionare tutti e soli i modelli per cui il campo "id_marca" è uguale allo id della pagina corrente.

Ecco il codice HTML che potremo inserire dentro "marche-modelli.html":

Versione classica

Versione Twig

     La casa {title} produce i seguenti modelli:
     <ul>{BEGIN modelli_della_marca}
      <li>
       <a href='/cartella_magica/{saratUrl}'>
        {title}
       </a>
      </li>
     {END modelli_della_marca}
     </ul>

La casa {{ title }} produce i seguenti modelli:

     <ul>
     {% for m in modelli_della_marca %}
     <li>
     <a href='/cartella_magica/{{ saratUrl }}'>
        {{ m.title }}
     </a>
     </li>
     {% endfor %}
     <ul>
   

Le viste di tabelle correlate sono automaticamente utilizzabili per i portali, che descriviamo immediatamente di seguito.