Version actuelle
0.8.4.2
 

Forums

Un problème, une idée d'amélioration ?
C'est ici que ça se passe !

You are not logged in.

Announcement

Suivez l'actualité du développement de Hyla sur son blog : http://blog.hyla-project.org/
  • Index
  •  » Aide
  •  » Insertion de texte contenant dans une variable avec syntaxe ambigue

#1 2011-03-07 14:20:35

theclimber
Membres
Registered: 2010-08-27
Posts: 6

Insertion de texte contenant dans une variable avec syntaxe ambigue

Bonjour,

J'ai rencontré le problème suivant que je ne vois pas trop comment je peux le résoudre.

Dans mon template j'ai une variable du type {$contenu}

Du coté PHP j'ai le contenu suivant :

Code:

$montexte = "En hyla tpl, pour insérer une variable on utilise {$variable} ou variable contient un contenu X ou Y"
$tpl->setVar('contenu', $montexte);
echo $tpl->render();

Là où ça pose problème c'est au niveau de l'interprétation des variable. J'ai l'impression que hyla prend la variable de mon contenu comme une variable à part entière ! Or c'est simplement du texte que je souhaiterais afficher.

J'imagine qu'il doit être possible d'escaper d'une manière ou d'une autre le string qui pose problème, mais comment vous me conseillez de faire?

Merci d'avance

Offline

 

#2 2011-03-08 19:05:16

hugo
Administrateur
Registered: 2007-04-10
Posts: 807

Re: Insertion de texte contenant dans une variable avec syntaxe ambigue

Salut,

à vu de nez, je dirai que tu as 2 solutions :

- Soit tu attends le dernier render pour remplacer ta variable contenant le texte avec le caractère $ et donc, comme ta variable prendra la valeur du texte au dernier rendu, elle ne pourra pas être remplacée
- Soit tu remplaces ton $ par un autre caractère ou combinaison de caractère et tu remplaces toi même cette chaine en $ après avoir récupéré le contenu du rendu par un truc du genre : $var = $tpl->render

Quoiqu'il en soit, tu es peut être dans un problème qui ne devrait pas arriver et que tu devrais peut être envisager d'aborder la résolution du souci en modifiant la manière de faire.

++

Offline

 

#3 2011-03-09 09:47:36

theclimber
Membres
Registered: 2010-08-27
Posts: 6

Re: Insertion de texte contenant dans une variable avec syntaxe ambigue

Etant donné que j'ai mis en place Hyla dans un CMS de planet, non seulement c'est un CMS, donc j'ai peu de controle sur ce que les gens souhaitent en faire. Mais en plus, l'administrateur du planet n'est pas maitre du contenu des articles postés sur le planet. Donc il est impossible de prévoir ce que les gens vont mettre dans leur flux et il faut gérer tout les cas !

Il faudrait effectivement que je regarde dans le code de render si y'a pas une petite ligne à modifier. Je ne comprend pas très bien pourquoi les variables ne sont pas escapées automatiquement? Est-ce qu'il y a une raison? Est-ce que ça a du sens d’interpréter des variables dans une variable? Est-ce qu'il y a des cas où ça sert?

Merci d'avance

Offline

 

#4 2011-03-10 18:19:50

hugo
Administrateur
Registered: 2007-04-10
Posts: 807

Re: Insertion de texte contenant dans une variable avec syntaxe ambigue

Les variables ne sont pas escapées automatiquement pour une raison de performance et le cas ne s'était pas encore présenté...

Si Hyla doit chercher a chaque assign si une variable est présente, ça va être moins véloce...

Offline

 

#5 2011-03-18 12:19:26

theclimber
Membres
Registered: 2010-08-27
Posts: 6

Re: Insertion de texte contenant dans une variable avec syntaxe ambigue

Bon, je vais essayer de trouver une autre solution.

Eventuellement en ajoutant un str_replace avant le rendering et après le rendering pour "bypasser" le moteur hyla.

Je vais voir ...

Offline

 
  • Index
  •  » Aide
  •  » Insertion de texte contenant dans une variable avec syntaxe ambigue

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson