| # GeneWeb: Personalizzazione delle pagine

Questo capitolo indica come personalizzare sia la pagina di benvenuto sia le altre pagine ed inserire delle pagine associate. Si indirizza a coloro che hanno già una certa dimestichezza con GeneWeb e che vogliono entrare nei dettagli.

- Pagina di benvenuto
- Macro
- Pagine associate
- Personalizzazione di tutte le pagine

### Pagina di benvenuto

La pagina di benvenuto è costituita a partire da files testo, i files "start.txt" forniti con la distribuzione di GeneWeb. E possibile modificare questi files e/o farne una versione specifica per una determinata base di dati.

Questi files contengono del codice HTML mescolato a delle "macro" (vedi paragrafo seguente). Se volete creare dei files simili o modificarli, non utilizzate un editore HTML, ma un editore di testo normale (ma non word processor come Word).

Per costruire la pagina di benvenuto della base "pippo", GeneWeb cerca i files seguenti, nell'ordine:

- bdir/lang/lg/pippo.txt
- hdir/lang/lg/pippo.txt
- bdir/lang/pippo.txt
- hdir/lang/pippo.txt
- bdir/lang/lg/start.txt
- hdir/lang/lg/start.txt
- bdir/lang/start.txt
- hdir/lang/start.txt

dove :

- "bdir" = valore di "-bd" del comando "gwd" (settaggio: directory attualmente utilizzata).
- "hdir" = valore di "-hd" del comando "gwd" (settaggio: directory attualmente utilizzata).
- "lg" = lingua attualmente utilizzata.

I files "hdir/lang/lg/start.txt" sono forniti col programma. Per fabbricarvi un file personalizzato, la cosa più semplice da fare è di partire dalla copia di un file "start.txt" che modificherete secondo i vostri desideri. Se la presentazione dei files "start.txt" non vi piace, potere cambiarli direttamente.

Attenzione: da una versione di GeneWeb all'altra, i files "start.txt" possono essere migliorati. Se utilizzate una nuova versione e volete approfittare dei miglioramenti, controllate se i files "start.txt" sono stati modificati e inserite le modifiche nei vostri files personali.

### Macro

Come detto sopra, i file delle pagine di benvenuto non sono in HTML puro. Contengono delle "macro". Si tratta di sequenze che iniziano col carattere "%" seguito da una lettera. Ad esempio: "%s", "%x", ecc.

Queste macro vengono sostituite con dei valori che dipendono dal contesto: nome della base, lingua, numero di persone nella base, ecc.

Esiste anche un trattameno particolare per le parentesi "[" e "]": se c'è del testo tra le parentesi, viene tradotto nella lingua utilizzata a partire dal lessico (file "lexicon.txt") con le seguenti modifiche:

- Se c'è un asterisco dopo una parentesi aperta, il primo carattere della traduzione viene trasformato in maiuscola.
- Se la parentesi chiusa è seguita da un numero, questo corrisponde alla ennesima voce della traduzione (cominciando da 0), le voci sono separate da "/". Se questa voce non esiste, è la prima che viene utilizzata.

Per capire come vengono utilizzate le macro, la cosa migliore da fare è di leggere i files "start.txt" forniti col programma.

Ecco il significato delle macro "%":

- Base.
  - "`%t`" : nome della base.
  - "`%f`" : in modo server, nome della base, seguito da una eventuale password (esempio: "pippo_xyzzx"); in modo CGI, il nome del comando CGI (esempio: "gd.exe").
  - "`%g`" : in modo server, come "%f"; in modo CGI, il nome del comando CGI seguito da "?b=", dal nome della base e da un punto e virgola. Esempio: "pippo?lang=it;iz=8233;".
  - "`%s`" : valore di "%f" seguito da un punto interrogativo e da variabili contestuali (vedi sotto) seguite da un punto e virgola. Esempio: "pippo?lang=it;iz=8233;".
- Account.
  - "`%c`" : numero di accessi alla pagina di benvenuto.
  - "`%q`" : numero di richieste.
  - "`%d`" : data della prima consultazione.
- Condizionali.
  I condizionali cominciano con "`%I` seguito da un'espressione booleana (vero o falso) e finiscono con "`%E`". Il testo compreso tra queste due macro viene visualizzato se e solo se l'espressione booleana è vera. Un'espressione booleana è :
  - "`f`" : si è "amici"
  - "`w`" : si è "wizard"
  - "`j`" : si è "wizard" e "amici" (cf file a.gwf, "wizard_just_friend")
  - "`c`" : si è in modo cgi
  - "`h`" : esiste un file giornale
  - "`l`" : il navigatore non tratta le tables
  - "`n`" : esistono delle note per la base di dati
  - "`t`" : esiste una ricerca per titolo nobiliare
  - "`z`" : esiste una persona presa come riferimento Sosa (vedi macro "`%u`")
  - "`a`" : esiste una restrizione globale d'accesso alla base di dati
  - "`N`" : contrario dell'espressione che segue
  - "`|`" : "o" logico tra le due espressioni che seguono
  - "`&`" : "e" logico tra le due espressioni che seguono
  Esempi:
  - visualizzare il testo se è in atto una ticerca per Titolo: `%It...%E`
  - visualizzare il testo se non si è né "wizard" né "amico": `%I&NwNf...%E`
- Altri.
  - "`%r`" seguito da un nome e da Return : inclusione del file "nome.txt".
  - "`%b`" : valore della variabile "body_prop" del file "pippo.gwf" per la base "pippo".
  - "`%h`" : variabili contestuali (vedi sotto) nella forma "<input type=hidden name=var value=val>".
  - "`%l`" : lingua.
  - "`%n`" : numero di persone della base.
  - "`%u`" : persona presa come riferimento Sosa.
  - "`%%`" : un solo "%".
  - "`%[`" : un "[".
  - "`%]`" : un "]".

Certe macro fanno riferimento a delle variabili contestuali. Si tratta di:

- b : in modo CGI, nome della base.
- lang : lingua.
- iz : numero dell'eventuale persona presa come riferimento Sosa.

### Pagine associate

Nella vostra pagina di benvenuto personalizzata, potete mettere dei links verso dei files associati che saranno trattati nello stesso modo da GeneWeb: le macro vi saranno trasformate.

Ad esempio, se volete inserire una pagina speciale sulle persone celebri della vostra base, generate un file che chiamerete "celebrità.txt" e che metterete nella directory "bdir/lang/lg" o nella directory "bdir/lang" (vedi il primo paragrafo).

La richiesta d'accesso a "celebrità.txt" si scrive: "m=H;v=celebrità". Nella pagina di benvenuto metterete :

    Le persone celebri
    della mia base.

In "celebrità.txt", potrete mettere dei links verso delle persone della vostra base, indipendentemente dal suo nome e dal contesto, utilizzando le buone macro.

Le macro particolarmente interessanti sono:

- "`%b`" che potrete mettere nel tag "<body>" scrivendo "<body%b>".
- "`%s`" che potrete mettere nei links.

Esempio di frase in "celebrità.txt":

       Vedi mio cugino <a href="%sp=louis;n=de+bourbon;oc=5">
       Louis XIV</a> e i miei
       <a href="%sem=R;ep=jean;en=dupont;m=NG;n=louis+xiv;t=PN">
       legami di parentela</a> con lui.

Date un'occhiata anche a come stabilire dei links verso delle pagine di GeneWeb.

Notate che la "richiesta evoluta" funziona come un file associato, col nome di "advanced.txt"

### Tutte le pagine

Le pagine, compresa la pagina di benvenuto, possono essere personalizzate in tre punti:

- Potete aggiungere un file chiamato base.hed (se "base" è il nome della vostra base di dati) che sarà inserito in tutte le testate di pagine (tra <head> et </head>). Permette di inserire delle style sheets, ad esempio. Va messo nella directory "lang" e/o, se volete che sia diverso per la lingua "xy" nella directory "lang/xy".

- Allo stesso modo, potete aggiungere un file chiamato base.trl che sarà inserito dietro il copyright di GeneWeb ad ogni pagina.
- Infine, avete la possibilità di posizionare la variabile `body_prop` del vostro file base.gwf che sarà inserito in "<body>" ad ogni pagina. Utile per mettere un colore o un motivo di fondo o per cambiare i colori dei testi visualizzati. Vedi questo paragrafo del capitolo "come iniziare con GeneWeb".

Ritorna a Istruzioni per l'uso

Copyright (c) 1998-2005 INRIA - GeneWeb