SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [vi] [zh] Espace de traduction

Descarregar

#BALISE* i #BALISE**

Març de 2010

Totes les versions d'aquest article:

Per defecte, SPIP aplica automàticament a cada #BALISE trobada dins dels esquelets tots els tractaments (filtres o funcions de transformació) que li són específics, i que estan definits a #$GLOBALS['table_des_traitements']['BALISE'].


En alguns casos, per exemple, per executar un filtre personal abans de l’aplicació automàtica de les funcions internes d’SPIP, es possible que sigui necessari desactivar aquest tractament.

L’estrella simple:   *

En aquest cas utilitzarem la notació #BALISE* a la que s’aplicarà el filtre personal tenint cura de verificar si es necessari afegir-hi desprès els tractaments interns que s’havien desactivat.

Per exemple :

[(#TEXTE*|mon_filtre|propre)]

començarà per desactivar els tractaments automàtics aplicats a #TEXTE i definits a #$GLOBALS['table_des_traitements']['TEXTE'] ;
després aplicarà el filtre personal |mon_filtre ;
finalment aplicarà el filtre |propre que havíem desactivat per l’ús de *.

Il·lustració:
El text del meu article, tal i com l’he introduït a la interfície privada i tal i com està arxivat a la base de dades és [1]:

<img388|left>

Il y a aujourd'hui {trois cent quarante-huit ans six mois et dix-neuf jours} que les parisiens s'éveillèrent au bruit de toutes les cloches sonnant à grande volée dans la triple enceinte de la Cité, de l'Université et de la Ville.
_ Ce n'est cependant pas un jour dont l'histoire ait gardé souvenir que le {{6 janvier 1482}}.

#TEXTE mostra el següent html (amb els tractaments per defecte) :

<p><span class="spip_document_388 spip_documents spip_documents_left" style="float: left; width: 150px;">
<img src="../local/cache-vignettes/L150xH150/extraits-4f9ff.jpg" alt="" style="height: 150px; width: 150px;" height="150" width="150"></span></p>
<p>Il y a aujourd’hui <i>trois cent quarante-huit ans six mois et dix-neuf jours</i> que les parisiens s’éveillèrent au bruit de toutes les cloches sonnant à grande volée dans la triple enceinte de la Cité, de l’Université et de la Ville.
<br>Ce n’est cependant pas un jour dont l’histoire ait gardé souvenir que le <strong>6 janvier 1482</strong>.</p>

#TEXTE* mostrarà el següent html:

<img388|left>

Il y a aujourd'hui {trois cent quarante-huit ans six mois et dix-neuf jours} que les parisiens s'éveillèrent au bruit de toutes les cloches sonnant à grande volée dans la triple enceinte de la Cité, de l'Université et de la Ville.
_ Ce n'est cependant pas un jour dont l'histoire ait gardé souvenir que le {{6 janvier 1482}}.

Al damunt d’aquesta font en brut, aplico el meu filtre personal (diguem que modifica la imatge associada a aquest article i per aquest esquelet específicament, cosa que m’impedeix fer-ho reeditant l’article...). Per tant, aquest filtre busca la seqüència <imgxxx| per substituir-la per <img25|; per simplificar: substitueix les imatges de l’article per una imatge única. Fixem-nos que això no hauria estat possible (com a mínim d’una manera simple) a partir de l’html retornat per l’ús de #TEXTE.

A partir del moment en que el meu filtre ha fet el seu treball, he de cridar el tractament automàtic que SPIP aplica a l’etiqueta #TEXTE per retrobar el tractament del (nou) model <img25|left> i els tractaments tipogràfics diversos: negreta, cursiva...

Per tant, crido dins del meu esquelet:[(#TEXTE*|mon_filtre|propre)] que em retornarà bé l’html:

<p><span class='spip_document_25 spip_documents spip_documents_left'  style='float:left; width:180px;'>
<img src='IMG/png/defaut_cache.png' width="180" height="180" alt="" /></span></p>
<p>Il y a aujourd'hui <i>trois cent quarante-huit...

La doble estrella:   **

A més a més del que acabem de veure, SPIP aplica per defecte a totes les etiquetes que troba dins d’un esquelet un tractament de seguretat que impedeix l’execució d’un script (php o javascript) susceptible de ser retornat per l’etiqueta. Per exemple un <?php echo 'toto'; ?>, inclòs al cos del text d’un article, no serà executat («toto» no es mostrarà).

No obstant, en certs casos, molt específics, pot ser necessari recuperar el valor en brut, no desinfectat (per tant, potencialment perillós), d’una etiqueta. Per exemple,, per tractar alguns retorns de formularis, certes variables d’entorn passades a #ENV.

En aquest cas en concret, i sent conscients dels riscos que correm, utilitzarem la notació #BALISE**. Però encara un cop més, alerta a aquesta escriptura (veure sobre aquest assumpte l’ús de l’etiqueta #ENV).

 
 
 
 

Notes

[1gràcies a Victor Hugo per aquest fragment de Notre Dame de Paris.


Descarregar l'esquelet d'aquesta pàgina Lloc Web fet amb l'SPIP | Espace de traduction | Espai privat