|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 676 ![]() |
Bonjour à tous,
Après plusieurs recherche dans la doc de zend et dans les différentes conversations pouvant m'aider à résoudre mes problèmes, je ne suis parvenu à trouver une solution. Mon premier problème est : J'ai des formulaires avec de éléments dojo (Zend_Dojo_Form_Element_FilteringSelect, Zend_Dojo_Form_Element_TextBox , etc ...) la mise en forme pour tous les champs fonctionnent correctement mais à l'affichage de ma page qui contient le formulaire au début j'ai une mise en forme standard qui est remplacé trés rapidement par la mise en forme de dojo. Ma question est donc la suivante : Comment puis faire en sorte que la mise en forme soit directement celle de dojo ? Je pencherai vers ->setDjConfigOption('parseOnLoad', true), mais n'en n'étant pas sur je préfère avoir vos avis. Mon deuxième problème est le suivant: J'ai un formulaire avec Zend_Dojo_Form_Element_FilteringSelect qui me permet de sélectionné faire un choix. En fonction de ce choix je dois afficher un autre formulaire sur cette même page. Ce que j'ai fais : En fonction du choix j'exécute un requete ajax qui va aller dans chercher dans l'action d'un controller le formulaire afficher en fonction du choix fait dans le select ( Je tiens à précisé que cette action n'a pas de script de vue ni de layout, j'ai désactivé les deux et je fais seulement un echo du formulaire ) Le problème dans ce cas là est que la mise en forme n'est pas celle de dojo. Ma question est donc la suivante : Comment puis je faire pour appliquer la mise en forme sur le formulaire nouvellement afficher, je sais que cela vient du fait que la mise en forme se fait au chargement de la page et que là il n'y a pas de rechargement justement c'est ce que je veux éviter. Ce que j'ai fais, en deuxième solution : J'affiche tous les formulaire qui sont susceptible d'être choisis avec le select, chacun dans une div indépendante avec un id particulier pour chacune d'entre elle, par défaut j'affiche le premier formulaire correspondant au premier choix du select, tous les autres sont caché avec display : none;. En fonction du select, je fais appel à une fonction javascript qui affiche la div correspondante et cache les autre. Cela fonctionne bien mis à part le fait que cela m'annonce la duplication de dijit ID cela étant normal étant donné que les formulaire ont des champs identiques. Ma question est donc la suivante : Comment puis je faire pour ne pas avoir ces messages d'erreurs ? De plus, si vous avez des meilleurs solutions je suis preneur. Je vous remercie 5h4rk |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Étudiant Inscription : juin 2008 Messages : 70 ![]() |
Si tu n'as pas encore résolu ce problème :
Pour l'affichage en décalé entre HTML basique et mise en page Dojo, tu ne pourras pas y faire grand chose à mon avis, c'est le temps que dojo.parser fasse son travail en transformant les balises "dojoType" générées par ZF en HTML. Sinon, si tu veux charger des formulaires dojo après le chargement principal, la solution qui est à mon avis la plus simple est d'utiliser les composants "dijit.layout.ContentPane" ou "dojox.layout.ContentPane" et de connecter le "onChange" de ton "FilteringSelect" sur une fonction qui fournirra la bonne URL à la variable "href" du composant. il faudrait peut-être aussi que tu utilises la gestion des contextes dans ton contrôleur afin de fournir une vue avec désactivation automatique du layout lors d'une requête AJAX. Après, la bonne solution va surtout dépendre de ton implémentation. Si tu as besoin d'un exemple, n'hésite pas |
|
00
|
|
|
#3 |
![]() ![]() Loïc Développeur Web Inscription : février 2011 Messages : 676 ![]() |
Poua j avais oublié ce post c etait mes début de zend et en effet il n y avait aucune solution et j ai opté pour autre chose
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com