Area riservata
L’area riservata integra in misura maggiore la tecnica di aggiornamento asincrono (AJAX/AHAH) di una parte della pagina. I form di descrizione di immagini e di documenti sono ora molto fluidi, la rotazione delle immagini, l’aggiunta delle parole chiave o degli autori, i riferimenti alle traduzioni sono anch’essi più rapidi.
Un sistema di moduli
I moduli sono dei mini-modelli che possono essere integrati facilmente in un modello di layout normale come pure — e soprattutto — nel testo degli articoli (o delle brevi, ecc.).
Essi sono una estensione naturale delle scorciatoie <img1|left>
, <doc1|center>
. Adesso questi ultimi vengono gestiti da questi mini-modelli o moduli; è possibile definire il proprio modulo nella sotto-cartella modeles/ nella propria cartella di modelli (o di un plugin).
In aggiunta alle scorciatoie di documento e di immagine, i moduli proposti nella cartella dist/modeles/ gestiscono la visualizzazione dei link di paginazione, del segnaposto #LESAUTEURS
e dei link di traduzione.
I moduli sono trattati in maniera più dettagliata nell’articolo «Utilizzare i moduli».
Nuovi segnaposti
-
#SPIP_VERSION
: visualizza la versione di SPIP. -
#INSERT_HEAD
: un segnaposto da inserire nella zona<head>...</head>
dei propri modelli al fine di permettere ai plugin di aggiungere automaticamente CSS o file Javascript. -
#INCLURE
: un nuovo segnaposto per degli include «statici» e non più dinamici.Avvertenza: La sintassi
<INCLUDE{fond=..}>
provoca l’inclusione delle pagine ad ogni visita, che riguardi una pagina già nella cache o meno.
Con il nuovo segnaposto[(#INCLURE{fond=...})]
, l’inclusione viene eseguita durante il calcolo del modello, e il risultato viene memorizzato nella cache della pagina chiamante. Con tale sistema non è più possibile gestire una durata di vita ($delais
o#CACHE{}
) ridotta per un modello incluso; al contrario, diventa possibile applicare filtri sui modelli inclusi:[(#INCLURE{fond=lettre}|version_texte)]
. - La paginazione diventa un «modulo» (cfr. sopra), permettendone la personalizzazione per mezzo di moduli personalizzati. Pertanto:
-
#PAGINATION{page}
dà dei numeri di pagina (1, 2, 3, 4...) invece di numero di voci (0, 10, 20, ...) ; - è possibile provare anche
#PAGINATION{page_precedent_suivant}
e#PAGINATION{precedent_suivant}
.
-
- Introduzione di un segnaposto
#SQUELETTE
che restituisce il percorso del modello corrente.
Filtri
Arricchimento di image_masque:
- ora collocare la maschera in verticale o in orizzontale si può fare con:
-
text-align=center
(o left, o right) -
vertical-align=middle
(o top, o bottom)
-
- Adesso è possibile scegliere il modo di mischiare due immagini, come si fa con un programma del tipo Gimp. Di default, se non si specifica nulla, si avrà:
mode=masque
che è il funzionamento già conosciuto.
I nuovi modi sono:-
mode=normal
: si pone un’immagine sopra l’altra; -
mode=eclaircir
: si pongono solo i pixel più chiari; -
mode=obscurcir
: si pongono solo i pixel più scuri; -
mode=produit
: si «moltiplicano» i pixel dell’origine per quelli della maschera. Di fatto: i punti neri rendono l’immagine nera, i punti bianchi non la modificano; -
mode=difference
: si riempie con la differenza tra le due immagini.
-
Estensione dei filtri immagine al testo:
Tutti i filtri d’immagine possono essere applicati su un file d’immagine, un tag <img src='..' ../>
o un testo completo (in tal caso i filtri sono applicati su ogni immagine trovata). Pertanto diventa possibile fare [(#TEXTE|image_sepia)]
Sono stati introdotti altri filtri... e l’elenco deve essere ancora completato.
Utenti esperti
Cartella formulaires/:
i form personalizzati (per la parte HTML) devono ora essere situati in una sotto-cartella formulaires/ della propria cartella di modelli (o del plugin). La parte PHP del form può essere personalizzata nella cartella balise/ della cartella del modello (o del plugin).
Calcolare uno sfondo dall’area riservata:
per chi sviluppa plugin, una funzione recuperer_fond
permette ora di calcolare un modello, anche usando uno script dell’area riservata. Questo sistema utilizza sia il segnaposto #INCLURE
che il sistema di moduli.
Variabili nel modello
Fanno la loro comparsa dei nuovi segnaposti che permettono di eseguire calcoli all’interno di modelli e di attribuire il risultato a una «variabile», che può essere utilizzata in seguito altrove ma sempre nello stesso modello: #SET{toto, valore}
e #GET{toto}
.
Ricaricamento parziale della pagina (funzione sperimentale):
qualsiasi ciclo può definire un frammento di modello che può essere ricaricato dinamicamente e in maniera asincrona dal browser (ahah). A tal fine è sufficiente utilizzare il criterio {fragment}
nel ciclo in questione. Il criterio {pagination}
implica di default il criterio {fragment}
. Tutto il contenuto del ciclo (parte avanti, corpo principale, parte dopo o alternativa) viene incluso in un div con classe fragment e un id unico: code>
Chiamando l’URL con il parametro supplementare var_fragment
che ha come valore l’id di un div fragment (per es.: &var_fragment=fragment_html_1c4f894574d730e016e980d91fa678ca_articles), il server restituirà unicamente quel frammento di modello. In tal modo è facile ricaricare solo una parte della pagina con un codice javascript (AJAX/AHAH).
N.B.:
Questa funzionalità è ancora in fase sperimentale ed evolverà probabilmente con le versioni future. Tuttavia, vi incoraggiamo a testarla e a comunicarci suggerimenti o malfunzionamenti per il suo miglioramento.
Modo Tidy:
Il modo XHTML Tidy (vedi article 3072) non è più distribuito con SPIP ma diventa un plugin. Ciò si deve a tre motivi:
- questo codice si basa sulla chiamata a un binario che non è spesso disponibile sui fornitori di hosting — il suo modo php_tidy non è sempre completamente funzionale;
- il motore di SPIP compone ora un codice XHTML molto più soddisfacente, riducendo l’utilità di questo sistema;
- il debugger (aggiungere
&var_mode=debug
nell’URL della pagina) offre un modo di convalida che segnala i segnaposti non validi come pure le linee del modello che hanno prodotto l’errore (aggiungere$xhtml='spip_sax';
nel filemes_options.php
per poterne fare uso).
Documentazione del codice:
Una documentazione del codice è stata varata su http://doc.spip.org
- qualsiasi funzione viene iscritta in maniera automatica e l’ipertesto è bidirezionale (dal codice verso la documentazione e viceversa);
- il sito è aggiornato ogni giorno in base alle modifiche del codice della versione di sviluppo (SVN) di SPIP.
Correzioni
Numerosi bug sono stati corretti (soprattutto riguardo la syndication, la cache delle immagini tipografiche, il menu delle lingue), per maggiori dettagli consultare il nostro sito di sviluppo http://trac.rezo.net/trac/spip/report/6.
Compatibilità con gli hoster Free e Club-internet.
* * *
Se si fa un aggiornamento del sito a partire da una versione vecchia di SPIP si legga anche l’articolo su SPIP 1.9.
Da leggere:
— Effettuare l’aggiornamento
— article 3420
Come al solito, in caso di difficoltà è possibile trovare aiuto sulla lista spip-it@rezo.net o sui forum di SPIP