Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-06-2010 09:08:39

Shizuma
Nouveau membre
Date d'inscription: 25-06-2010
Messages: 2

[Zend_Form] entités HTML non affichés dans le formulaire

Bonjour,

J'ai un soucis avec mes formulaires en ce moment. Je m'en suis rendue compte lorsque j'ai ajouté un nouveau smiley à mon forum "codé" avec les caractères suivant "<3".
Lorsque je fais un populate() sur mon formulaire ou que je veux faire une citation dans mon forum (recréer mon formulaire d'ajout de message et mettre "à la main" le message à citer) et bien, le message affiché dans mon textarea s'arrête après l'entité HTML "<" parce que Zend remplace ça par "&lt;".
J'ai essayé d'utiliser la fonction php html_entity_decode() mais ça ne change rien. Je suppose que Zend repasse dessus et échappe les caractères spéciaux.
Je suppose que ça a déjà posé problème à quelqu'un parce qu'on devrait pouvoir mettre dans un formulaire les caractères "<" et ">" sans que tout parte en vrille, lors d'un $form->populate() par exemple! sad

Je ne sais pas si j'ai été bien claire. hmm
Je précise que je n'ai aucun soucis d'encodage. Toute mon appli est en utf-8 et les caractères spéciaux passent nickel. Et que c'est bien les entités HTML qui passent pas.

Si vous avez une idée, je suis toute ouïe! smile
Merci beaucoup!

Hors ligne

 

#2 25-06-2010 11:11:35

Lukas P.
Membre
Date d'inscription: 28-12-2008
Messages: 11

Re: [Zend_Form] entités HTML non affichés dans le formulaire

Bonjour,

Je ne sais pas comment tu procèdes pour rajouter une valeur à ton formulaire avant de l'envoyer à ta vue (ton explication est un peu vague de ce coté la) mais par défaut zend échappe certaines valeurs. Il faut donc que tu passes en paramètre l'option 'escape' => false

Je pourrais être plus précis si tu montres du code concret.

Hors ligne

 

#3 25-06-2010 14:59:58

Shizuma
Nouveau membre
Date d'inscription: 25-06-2010
Messages: 2

Re: [Zend_Form] entités HTML non affichés dans le formulaire

Lukas P. a écrit:

Bonjour,

Je ne sais pas comment tu procèdes pour rajouter une valeur à ton formulaire avant de l'envoyer à ta vue (ton explication est un peu vague de ce coté la) mais par défaut zend échappe certaines valeurs. Il faut donc que tu passes en paramètre l'option 'escape' => false

Je pourrais être plus précis si tu montres du code concret.

Merci pour ta réponse
Pour rajouter la valeur à mon formulaire je fais comme suit dans mon action

Code:

$form->getElement("message")->setValue($message);

je sais pas si c'est la meilleure manière de le faire mais pour le moment je fais ni plus, ni moins pour ça ^^"
$message est le résultat d'une requête exécutée au préalable.

Suite à ton message, j'ai testé de mettre l'option "escape" à false dans le décorateur de mon formulaire mais ça n'a rien changé. Est-ce que ça serait dû au fait que c'est un décorateur que j'ai codé moi même? du coup je sais pas s'il est fait dans les règles de l'art)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages