Les variables de personalització

Certs comportaments de les pàgines del vostre lloc Web es poden modificar per mitjà de variables PHP. Normalment, aquestes variables estan definides per l’SPIP, però el webmestre les pot modificar si vol obtenir una personalització més gran.

On indicar aquestes variables?

No és necessari entrar en el codi font del mateix SPIP per fixar aquestes variables (per sort!).

-  Pel conjunt del lloc

Si voleu fixar aquestes variables per a la totalitat del lloc, podeu indicar-les com a globals, amb una sintaxi una mica diferent, en un fitxer anomenat mes_fonctions.php (mes_fonctions.php3 en les versions anteriors a SPIP 1.9), situat a l’arrel del lloc, o preferentment a dins de la vostra carpeta squelettes/ (cf. On ubicar els fitxers dels esquelets?).
Eventualment, serà necessari crear aquest fitxer, i acompanyar les definicions de les vostres variables per les etiquetes ?php i ?>. Veure els exemples més avall.

-  Per a cada tipus de plantilla (esquelet)

[SPIP 1.4] Podeu també definir les variables plantilla per plantilla. Per això, fa falta instal·lar-les al començament del fitxer PHP que crida la plantilla (per exemple article.php3, rubrique.php3...). S’insereixen, naturalment, al costat de les variables obligatòries $fond i $delais. Veure els exemples.

Les variables del text

Aquestes variables són utilitzades en el moment de calcular la compaginació (correcció tipogràfica) per l’SPIP.

-  $debut_intertitre fixa el codi HTML inserit a l’obertura dels subtítols (drecera {{{). Per defecte, el seu valor és:

$debut_intertitre = "\n<h3 class=\"spip\">\n";

-  $fin_intertitre és el codi HTML inserit al tancament del subtítols (drecera }}}). El seu valor normal és:

$fin_intertitre = "</h3>\n";

-  $ouvre_ref és el codi d’obertura de les crides de les notes de peu de pàgina; per defecte, és un espai no eliminable i un claudàtor d’obertura;

-  $ferme_ref és el codi de tancament de les crides de les notes de peu de pàgina; per defecte és un claudàtor de tancament.

-  $ouvre_note és el codi d’obertura de les notes de peu de pàgina (tal i com apareix en #NOTES); per defecte, un claudàtor d’obertura;

-  $ferme_note és el codi de tancament de les notes de peu de pàgina (un claudàtor de tancament).

Opcions alternatives podrien ser, per exemple, utilitzar els parèntesis; o, més atractiu, obrir amb l’etiqueta HTML <sup>, i tancar-la amb </sup>.

-  El fitxer puce.gif i la variable $puce. Quan comenceu una nova línia amb un guionet, l’SPIP el substitueix per un petit «símbol» gràfic. Aquest símbol està constituït pel fitxer puce.gif instal·lat a dins de la carpeta squelettes-dist/ a l’arrel del lloc; podeu modificar aquest fitxer segons els vostres desigs. Però també podeu decidir de fixar vosaltres el tipus de símbol, a través de la variable $puce. Per exemple per indicar un altre fitxer gràfic:

$puce = "<img src='mapuce.gif' alt='-' align='top' border='0'>";

o per un element HTML no gràfic:

$puce = "<li>";

A partir de la versió 1.9.2, i en cas de mutualització, també podem posar a config/mes_options.php, i no a squelettes/mes_fonctions la variable següent:

$GLOBALS['puce'];

-  $nombre_surligne presenta el número de vegades que una paraula que s’ha cercat serà destacada a dins del text. Per defecte, aquest valor està definit a 4.

-  $ligne_horizontale és el codi que substitueix a la drecera tipogràfica ---- (quatre guionets) o ____ (quatre caràcters de subratllat) i que permet inserir una línia horitzontal a dins del text. Per defecte, és el codi <hr class="spip" />

.

-  $url_glossaire_externe és l’adreça utilitzada per les dreceres automàtiques [?SPIP] cap un glossari. Per defecte, el glossari extern ens envia cap a l’enciclopèdia lliure wikipedia.org.

Les variables pels fòrums públics

Existeixen variables que permeten fixar el comportament dels fòrums públics amb paraules clau.

N.B. : Aquestes variables només es fan servir quan creeu fòrums públics en els quals els visitants poden seleccionar paraules clau; el seu ús és, per tant, extremadament específic (i no evident...).

-  $afficher_texte («si»/«no»). Per defecte, els fòrums públics estan concebuts per permetre als visitants entrar el text del seu missatge; però quan es proposa l’elecció de les paraules clau en els fòrums, es pot decidir que cap missatge sigui operatiu i que només es tingui en compte la selecció de paraules clau. En aquest cas, es podrà indicar:

$afficher_texte = "non";

-  $afficher_groupe permet indicar els diferents grups de paraules clau que es desitja proposar en aquell fòrum. En efecte, tots els fòrums d’un lloc no han de ser forçosament idèntics. Pot ser que en alguns indrets, es vulgui mostrar una selecció de tots els grups de paraules clau (aquells que s’han deixat accessibles als visitants des de l’espai privat) i que, en canvi, en altres indrets es vulgui fer servir només alguns grups o fins i tot no fer-ne servir cap (absolutament cap selecció de paraules clau).

La variable $afficher_groupe és una matriu (array), i es construeix d’aquesta manera:

$afficher_groupe[] = 3;
$afficher_groupe[] = 5;

imposa que es mostrin únicament els grups 3 et 5.

$afficher_groupe[] = 0;

impedeix utilitzar les paraules clau en aquests fòrums (perquè no hi ha cap grup de paraules clau que tingui assignat el número 0).

Si no li indiquem res (no es precisa $afficher_groupe), són utilitzats tots els grups de paraules clau indicats, a l’espai privat, com a «proposats als visitants del lloc públic».

Impedir la visualització dels botons d’admin

A totes les pàgines d’esquelets se’ls afegeix els «botons d’amin» (sobretot: «calcular de nou aquesta pàgina») quan un és administrador i s’ha activat la galeta de correspondència. Aquesta funcionalitat, molt pràctica per administrar el lloc Web, pot ser poc pràctica en alguns casos; per exemple en el cas de fitxers XML, que no es vol en cap cas veure’ls alterats per aquests afegits.

[SPIP 1.7] La variable flag_preserver permet impedir aquestes visualitzacions.

$flag_preserver = true;

Veurem per exemple l’ús d’aquesta variable a backend.php3.

La carpeta dels esquelets

Per posar els esquelets d’un lloc a dins d’una carpeta particular (per exemple per mutualitzar les fonts d’SPIP, o per fer proves de diferents jocs d’esquelets trobats per Internet, etc.) en tenim prou indicant-ho per mitjà de la variable $dossier_squelettes. Aquesta variable ha d’estar inclosa a dins del fitxer mes_options.php del directori config (a les versions d’SPIP anteriors a SPIP 1.9 aquest fitxer es trobava en altres directoris, i es podia també assignar aquesta variable, introduïda a partir d’SPIP 1.5, a dins de mes_fonctions.php situat a l’arrel, cosa que encara es manté actualment encara que només sigui per qüestions de compatibilitat):

<?php
    $GLOBALS['dossier_squelettes'] = 'design';
?>

A partir d’aquest moment, SPIP anirà a buscar en primer lloc els esquelets que hi ha a la carpeta design/ (que haureu creat a l’arrel del lloc). Si, a més a més, utilitzeu <INCLURE{fond=xxx}>, SPIP anirà a buscar el fitxer xxx.html primer a dins de design/, i després, si no el troba aquí, a l’arrel del lloc.

Els avantatges d’aquesta manera d’ordenar són evidents: una millor separació del codi d’SPIP i de l’estructura del lloc, possibilitat de canviar tot un conjunt d’esquelets de cop, etc.
El principal inconvenient és que els enllaços cap a les imatges o els CSS, particularment, han de tenir en compte aquest emplaçament. Existeix, per gestionar el problema automàticament, l’etiqueta #CHEMIN, descrita a Les balises propres au site. A tenir en compte també que la visualització dels esquelets via un simple navegador serà també molesta, ja que el visitant no les trobarà a l’arrel del lloc: això no destorba per res el funcionament, però és poc compatible amb l’esperit del programari lliure.

Aquesta variable permet de fet indicar una o diverses carpetes on SPIP buscarà els esquelets preferentment:

<?php
    $GLOBALS['dossier_squelettes'] = 'mes_skel1:mes_skel2';
?>

Això obre diverses possibilitats, com:
-  provar un nou joc d’esquelets sense esborrar l’antic,
-  organitzar els vostres esquelets en una estructura de subdirectoris: mes_skel:mes_skel/rss:mes_skel/formulaires:mes_skel/mailing,
-  administrar dinàmicament diversos jocs d’esquelets gràcies a plug-ins com le switcher,
-  etc.

Exemples

-  Per modificar variables només per un cert tipus de plantilles (per exemple per les pàgines de les seccions), n’hi ha prou amb definir els seus valors al fitxer que crida aquestes plantilles. Per exemple, per les seccions, es poden fixar els valors directament a rubrique.php3:

<?php
    $fond = "rubrique";
    $delais = 2 * 3600;
    $espace_logos = 20;
    include ("inc-public.php3");
?>

Aquí, s’ha modificat el valor de l’espai entorn dels logotips.


-  Per modificar els valors de les variables pel conjunt del lloc, ho podem fer al fitxer mes_fonctions.php.

Alerta, quan es defineixen els valors d’aquest fitxer, és necessari utilitzar obligatòriament la sintaxi $GLOBALS['xxx'] per cadascuna de les variables que es vol personalitzar. Per exemple, per definir el valor de $debut_intertitre, es fa servir la sintaxi $GLOBALS['debut_intertitre'].

La utilització d’aquesta sintaxi ve imposada per imperatius de seguretat dels llocs.

<?php
    $GLOBALS['debut_intertitre'] = "<h3 class='mon_style_h3'>";
    $GLOBALS['fin_intertitre'] = "</h3>";

    $GLOBALS['ouvre_ref'] = '&nbsp;(';
    $GLOBALS['ferme_ref'] = ')';
    $GLOBALS['ouvre_note'] = '(';
    $GLOBALS['ferme_note'] = ') ';

    $GLOBALS['espace_logos'] = 0;
?>

Hi ha altres variables que permeten modificar el comportament d’SPIP a nivell tècnic. Aquestes variables les podeu trobar descrites al lloc Web sobre documentació tècnica.

Autor merce Publié le : Mis à jour : 23/03/24

Traductions : عربي, català, English, Español, français, italiano, Nederlands, òc lengadocian