Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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 "<".
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!
Je ne sais pas si j'ai été bien claire.
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!
Merci beaucoup!
Hors ligne
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
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
$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
Pages: 1