id e masterId

In alternativa a id, showPage e showTwig accettano un altro parametro chiamato masterId. Questo è occasionalmente utile con i siti multilingue.

Immaginate di voler offrire il sito dedicato ai cantanti lirici in versione italiana, inglese e russa. Naturalmente sarà necessario che un traduttore metta mano alle schede ed esprima nelle tre lingue le biografie di ciascun cantante, ma il vostro lavoro di progettista di sito viene prima. Lavorando con la voce Lingue del menu Sito abiliterete tutte le lingue che il sito deve avere. Forse sarà necessario declinare le pagine mastro nelle altre lingue (questo è spiegato meglio più avanti in questo stesso manuale, ma comunque, potete facilmente capire che un sito in declinazione araba o israeliana dovrebbe venire ridisegnato in modo da avere i menu che scorrono da destra verso sinistra visto che quelle lingue si scrivono in quel modo).

Quando questa predisposizione è stata effettuata, un traduttore lavorando nel modo spiegato nel manuale Mantenere il sito predispone le traduzioni. Se la scheda di Pallazzi viene redatta in tre lingue, le tre traduzioni avranno tre id differenti ma tre identici masterId. Il masterId in sostanza è il sistema che Sar-At usa per capire che non si tratta di tre cantanti differenti, ma di tre traduzioni.

La figura sottostante mostra la situazione in modo abbastanza chiaro.

L'utilità di chiamare showPage o showTwig passando il parametro masterId anziché id a questo punto comincerà a farsi più chiara. Sempre usando Pallazzi come esempio:

Questo indirizzo…

significa….

showPage,php?template=cantanti&id=1

La pagina di Pallazzi in italiano

showPage,php?template=cantanti&id=2

La pagina di Pallazzi in inglese

showPage,php?template=cantanti&id=3

La pagina di Pallazzi in russo

showPage,php?template=cantanti&masterId=1

La pagina di Pallazzi nella lingua corrente

Diciamolo con altre parole in modo che sia ancor più chiaro. Ogni volta che una pagina viene visualizzata da un visitatore del sito, anche un visitatore anonimo, Sar-At prende nota di quale lingua è stata appena letta. Se la pagina richiesta subito dopo ha un indirizzo con masterId e senza id, Sar-At sceglie automaticamente la variante in quella lingua.