THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

D'après la doc, il est possible dans les templates HTML de faire appel aux variables stockées dans la table "variable" à l'aide de la syntaxe #VARIABLE(nomvariable), soit #VARIABLE(urlsite) par exemple.

Je travaille avec la version 1.2.1 de Thelia, et ceci ne semble pas fonctionner, rien n'est retourné. Est-ce un bug ou une mauvaise compréhension de ma part de cette fonction #VARIABLE ?

Offline


Bonjour

Moi ici ça marche, j'ai même essayé de pousser plus loin: j'ai créé via phpmyadmin 2 variables supplémentaires pour des chaînes de caractères que j'utilise plusieurs fois dans le site. J'ai appelé ces 2 variables "baseline" et "descriptif".
Les 2 variables apparaissent bien dans l'admin, je peux les éditer, super. Mais dans les squelettes, si j'utilise #VARIABLE(baseline), rien n'apparait ...

Ce que je fait n'est pas possible ? ou il y a autre chose à modifier quelque part ?

Mci.Pierre.

Offline


Ca vient de l'EREG sur la chaine complète dans fonctions\substitvariable.php
( ceci dit je teste sur un WAMP, et PHP a parfois des interprétations un peu folkloriques...)

Remplacez par ça

function substitvariable($texte){
	
		$posit=strpos($texte,"#VARIABLE");$temp=substr($texte,0,$posit);
 		$stemp=substr($texte,$posit);
		ereg("\(([^\"]*)\)", "$stemp", $cut);
		$variable = new Variable();
		$variable->charger($cut[1]);
		$texte =$temp.ereg_replace("#VARIABLE\(([^\"]*)\)", "$variable->valeur", $stemp);

		return $texte;
	}

ça devrait se passer mieux...:)

Last edited by david49 (02-06-2007 05:12:30)

Offline


Bonjour,

Ok, merci, je vais tester.

Une question, plutôt destinée à Yoan d'Octolys: que se passe-t-il quand ce genre de solution est donné ? vous l'intégrez dans le code ?

Je pose la question car je n'aime pas introduire des modifs dans le code d'un produit que j'installe, je préfère en général l'utiliser tel quel plutôt que de risquer des catastrophes lors d'une upgrade future ... c'est ok quand on gère un site, mais dès qu'on en a des dizaines, avec des clients qui partent, qui reviennent, qui ont des contrats de maintenance, qui n'en n'ont pas, cela devient beaucoup plus dangereux ! je préfère suivre un processus "officiel" de report de bug, fournir éventuellement la solution, mais ensuite attendre une release officielle  ...

Pierre.

Offline


Effectivement, ça marche beaucoup mieux avec le code fourni par david49, merci à toi !

Je me joins à Pierrot concernant la problématique des mises à jour et de la maintenance : ce genre de solution apportée dans le forum pour parer à un bug donné est-elle d'office intégrée dans les versions futures ?