Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Hello tout le monde,
Je m'inspire du travail de DragonBe pour mettre en place les formulaires me permettant de gérer ma configuration.
J'ai déjà mis en place dans le reste de mon application un système de traduction (français, anglais) via l'adapteur TMX. Cela fonctionne plutôt pas mal ;-).
Par contre, je ne vois pas comment faire avec les fichiers XML de création de formulaire de DragonBe. Notamment pour les libellés qui sont définis directement dans le fichier XML (voir ci-dessous).
<?xml version="1.0" encoding="UTF-8"?> <forms> <localhost> <configs> <!-- General Config Form --> <general> <action></action> <method>post</method> <name>configGeneralForm</name> <elements> <uploadPath> <type>text</type> <options> <label>uploadPath</label>> </options> </uploadPath> <submit> <type>submit</type> <options> <label>register</label> <class>button</class> </options> </submit> </elements> </general> <!-- END of General Config Form --> </configs> </localhost> </forms>
Ce dernier étant appelé ensuite dans le controlleur via une fonction 'getForm' :
public function getForm($myForm) { $config = new Zend_Config_Xml($this->_app_base . '/application/config/config-forms.xml','localhost'); $form = new Zend_Form($config->configs->$myForm); return $form; }
et ensuite envoyé directement vers la vue via :
public function generalAction () { $this->view->form = $this->getForm('general'); }
En fait, je ne vois pas à quel moment je peux intervenir pour traduire mes libellés (<label>).
- Premièrement est ce possible ? Mais à cette question, je serai tenté de dire qu'avec le Zend Framework tout est possible, tout est réalisable, c'est le jeu de la vie... oups je m'égare :-)
- Deuxièmement, si vous avez une idée ou même un début d'idée, n'hésitez pas à m'en faire part.
Cordialement,
Fred
Dernière modification par elkolonel (18-09-2008 11:31:54)
Hors ligne
[edit]
Le lien est mort, et je ne retrouve plus la classe faite donc je peux pas réactuliser le lien, désolé
[/edit]
j'ai rapidement fait ca :
http://nicolas.desaleux.fr/index.php?po … ormulaires
ca doit marcher avec un config XML (j'ai tester que le ini), la rédaction a été rapidement faite, elle n'est pas forcement claire donc si tu as un soucis, n'hésites pas a demander.
Dernière modification par ndesaleux (19-10-2010 10:18:16)
Hors ligne
Salut Nicolas et merci pour ton post,
alors je me suis essayé à tester différentes choses à partir de ton code mais cela me semblait un peu obscur et pas forcément simple à mettre en place. Attention, je ne critique pas du tout ta méthode, loin de là... mais en fait je me suis dit en général avec le Zend Framework ce n'est pas toujours évident de trouver la solution mais par contre elle est souvent simple (je n'ai pas dit simpliste, non monsieur...).
Et bien en fait, en parcourant tout simplement le code de Zend_Form, je suis tombé sur la méthode setTranslator qui prend en paramètre un objet Zend_Translate (ça parait logique ) et je me suis essayé à cela :
public function getForm($myForm) { $config = new Zend_Config_Xml($this->_app_base . '/application/config/config-forms.xml','localhost'); $form = new Zend_Form($config->configs->$myForm); $form->setTranslator(Zend_Registry::get('translator')); return $form; }
le rajout de cette ligne :
$form->setTranslator(Zend_Registry::get('translator'));
fait toute la différence et surtout fait tout le travail... C'est tout simplement énorme !!!
En tout cas, un grand merci à toi, car j'ai pu réfléchir sur un solution à partir de ton code et de fil en aiguille cela m'a amené à une solution déjà intégré mais pas forcément visible au premier abord.
Cela dit, je suis sur que si j'avais peut être mieux parcouru la doc sur le sujet je serai également tombé sur la solution.
Hors ligne
elkolonel a écrit:
alors je me suis essayé à tester différentes choses à partir de ton code mais cela me semblait un peu obscur et pas forcément simple à mettre en place.
Ce ne sont que des pistes de recherches donc elles sont sujette a modification, amélioration, etc.
elkolonel a écrit:
Attention, je ne critique pas du tout ta méthode, loin de là...
Tu devrais, c'est fait pour
elkolonel a écrit:
mais en fait je me suis dit en général avec le Zend Framework ce n'est pas toujours évident de trouver la solution mais par contre elle est souvent simple (je n'ai pas dit simpliste, non monsieur...).
Et bien en fait, en parcourant tout simplement le code de Zend_Form, je suis tombé sur la méthode setTranslator qui prend en paramètre un objet Zend_Translate (ça parait logique) et je me suis essayé à cela :
J'ai pas regarder ça plus en amont, j'ai simplement vu que ca permettait de gérer les messages d'erreur/validation du formulaire, je regarderai au niveau de la gestion des labels.
elkolonel a écrit:
fait toute la différence et surtout fait tout le travail... C'est tout simplement énorme !!!
En tout cas, un grand merci à toi, car j'ai pu réfléchir sur un solution à partir de ton code et de fil en aiguille cela m'a amené à une solution déjà intégré mais pas forcément visible au premier abord.
pas de quoi, c'est fait pour, mais ca ne reste que des pistes de recherche, de réflexion, faudrait que je prenne le temps de la pousser un peu plus
Heureux que cela est pu te servir
elkolonel a écrit:
Cela dit, je suis sur que si j'avais peut être mieux parcouru la doc sur le sujet je serai également tombé sur la solution.
Tout comme moi, sauf que j'ai un peu la flemme pour la version anglaise, j'ai parcouru la doc fr sans trop de succès, mais la meilleure doc reste le code et un bon IDE (merci eclipse)
Hors ligne
Pages: 1