Accueil du site > Divers > Variables Persos 1.0.1
  • Article

Variables Persos 1.0.1

Créer et utiliser vos propres variables dans les templates

Le mercredi 3 février 2010, par roadster31

Ce plugin permet de définir dans vos templates ou dans l’URL de vos pages des variables Thélia de la forme #NOM_VARIABLE, qui sont utilisables par la suite n’importe où dans votre template, aussi bien dans un boucle que dans les paramètres de la boucle !

Pourquoi ce plugin ?

1) Pour permettre de transmettre des informations d’une page à l’autre, et d’exploiter ces informations dans les boucles.

2) Pour déclarer dans un include des paramètres communs à plusieurs pages, par exemple :

#ASSIGNER DEBUT_CHEMIN = Vous êtes ici :<a href="index.php">Accueil boutique</a>
#ASSIGNER DEBUT_CHEMIN = Vous êtes ici :<a href="index.php">Accueil boutique</a>

Exemple, dans une recherche de produit, on souhaite que le client puisse choisir le nombre de résultats par page. On va ajouter dans la form de recherche les informations suivantes :

<input type="hidden" name="assigner" value="ARTICLES_PAR_PAGE" />
<select name="ARTICLES_PAR_PAGE">
<option value="20">20</option>
<option value="40">40</option>
<option value="60">60</option>
<option value="999999">Tous</option>
</select>

Dans la page recherche.html, on pourra alors utiliser la variable #ARTICLES_PAR_PAGE :

<THELIA_PROD type="PRODUIT" rubrique="#RUBRIQUE_ID" motcle="#PRODUIT_MOTCLE" num="#ARTICLES_PAR_PAGE">
...
</THELIA_PROD>

MISE EN OEUVRE

Le plugin propose deux manière de définir vos variables. Dans les exemples ci-dessous, on utilise VAR1, VAR2, etc. en guise de nom de variable, mais vous pouvez utiliser n’importe quelle nom composé de lettres, de chiffres, et d’underscores (’_’), par exemple :

#NOM_DE_VARIABLE
#NOM_NUMERO1
#VARIABLE_1_DE_5
etc...

Note 1 : Si vous utilisez une variable qui n’est pas définie, aucune substitution ne sera effectuée, et elle apparaîtra telle quelle dans la page.

Note 2 : les variables définies dans l’URL sont prioritaires sur les variables définies dans les templates. Ceci permet par exemple de définir des valeurs par défaut pour les variables qui sont définies par l’URL de la page.

Note 3 : La casse de vos noms de variable est importante : var1 n’est pas la même variable que VAR1 ou VaR1 !

Définition dans l’URL de la page

Il suffit d’ajouter dans l’URL de votre page le paramètre assign, qui permet de déclarer le nom d’une ou plusieurs variables :

assigner=VAR1,VAR2,...,VARn

Il faut ensuite ajouter un paramètre par variable déclarée :

VAR1=valeur_de_la_variable_1
VAR2=valeur_de_la_variable_2
...

On obient alors une URL de la forme :

http://www.monsite.com ?assigner=VAR1,VAR2,VAR3&VAR1=VALEUR1&VAR2=VALEUR2&VAR3=VALEUR3

Il est bien sur possible d’utiliser ’assigner’ dans une form Thélia existante, par exemple :

<form ... >
...
<input type="hidden" name="assigner" value="VAR1,VAR2,VAR3" />
Valeur de VAR1 : <input type="text" name="VAR1" value=""/>
<input type="radio" name="VAR2" value="oui"/>Oui <input type="radio" name="VAR2" value="non"/>Non
<select name="VAR3">
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
</select>
...
</form>

Les variables #VAR1, #VAR2 et #VAR3 deviennent alors disponibles dans la page !

Définition dans le template

Vous pouvez aussi définir des variables persos dans vos templates, en utilisant la syntaxe :

#ASSIGNER nom = valeur

Par exemple :

#ASSIGNER VAR1 = la valeur de cette variable 1
#ASSIGNER VAR2 = la valeur de la variable 2

Les variables #VAR1 et #VAR2 deviennent alors disponibles dans la page. Attention, #ASSIGNER doit figurer seul sur une ligne.

Cette forme est utilise pour définir des informations qui sont répétées sur plusieurs templates. de votre site, ou pour définir des paramètres qui sont utilisés dans plusieurs templates.

Suivre la vie du site RSS 2.0 | SPIP | Mgs MGS