Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Form
Zend_Form Forum d'entraide pour le composant Zend_Form du Zend Framework (création de formulaires, helpers, AJAX etc.). Avant de poster -> FAQ Zend_Form.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/02/2011, 15h10   #1
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 676
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 676
Points : 1 038
Points : 1 038
Par défaut Affichage différent formulaires avec Zend_Dojo

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
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 17h22   #2
Membre régulier
 
Avatar de Alcide_
 
Homme
Étudiant
Inscription : juin 2008
Messages : 70
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 70
Points : 78
Points : 78
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 !
Alcide_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 18h55   #3
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 676
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 676
Points : 1 038
Points : 1 038
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
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h13.


 
 
 
 
Partenaires

Hébergement Web