Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
J'ai beau chercher mais je ne trouve pas comment faire pour afficher une dialog box...
merci pour votre aide..
Dernière modification par mymt (22-04-2010 21:31:17)
Hors ligne
une sorte de popup dans la quelle je peux écrire un message de notification par exemple, ou demander une confirmation d'une action via un formulaire
Hors ligne
utilise l'extension ZendX_Jquery
sa utilise les jquery box de jqoeryui.
Très simple d'utilisation et de ton côté ça se fait tout en php.
Hors ligne
merci je vais jeter un oeil à ça...
Hors ligne
throrin19,
J'ai du mal a trouver des tuto concernant ZendX_Jquery... tu aurais pas un ou deux liens a me proposer qui pourrait m'aider a faire ma popup?? Bien que google soit mon ami, la il a decider de pas etre cool avec moi
Hors ligne
Je refais un ptit up...
En fait je cherche à faire une modal popup pour afficher des options de modifications via un petit formulaire lorsque je clique sur un lien.
Je cherche à gauche et à droite, mais impossible de trouver un tuto qui me permet de me dépatouiller.
Si quelqu'un à un exemple sous la main, avec une jolie modal popup utilisant Jquery par exemple, je suis super preneur!!!
Merci pour votre aide.
Hors ligne
Bon je crois que j'ai réussi à faire ce que je veux en utilisant ZendX_Jquery... par contre j'avais mon menu et deux trois trucs qui tournaient avec Jquery et qui marche plus une fois l'activation faite de ZendX_Jquery..
Hors ligne
firebug te donne quelle erreur?
Hors ligne
En fait j'ai l'erreur suivante reporter par la console javascript de chrome :
Uncaught TypeError: Object #<an Object> has no method 'lavaLamp'
En gros il trouve plus ma fonction... elle est déclaré comme cela dans le header (dans le fichier layout)
<script type="text/javascript"> $(function() { $("#1").lavaLamp({ fx: "backout", speed: 700, click: function(event, menuItem) { return true; } }); }); </script>
et le code d'affichage du menu
<div id="navigation"> <ul class="lavaLampWithImage" id="1"> <li class="<?php echo $this->escape($this->selectedIndex); ?>"><a href="<?php echo $this->baseUrl();?>/index/index"><?php print ($translate->_("Accueil"));?></a></li> <li><a href="#"><?php print ($translate->_("Nos Services"));?></a></li> <li class="<?php echo $this->escape($this->selectedCompte); ?>"><a href="<?php echo $this->baseUrl();?>/compte/index"><?php print ($translate->_("Mon Compte"));?></a></li> <li class="<?php echo $this->escape($this->selectedInscription); ?>"><a href="<?php echo $this->baseUrl();?>/compte/register"><?php print ($translate->_("Inscription"));?></a></li> <li class="<?php echo $this->escape($this->selectedFAQ); ?>"><a href="<?php echo $this->baseUrl();?>/index/faq"><?php print ($translate->_("FAQ"));?></a></li> <li class="<?php echo $this->escape($this->selectedAbout); ?>"><a href="<?php echo $this->baseUrl();?>/index/about"><?php print ($translate->_("A propos"));?></a></li> </ul> </div>
Une idée??
Dernière modification par mymt (15-03-2010 11:48:14)
Hors ligne
Humm, tes autres fonctions utilisent aussi le caractère '$', regarde dans la doc de zendX ou bien sur mon site, j'en parle pour que ZendX Jquery utilise à la place un $j pour éviter les incompatibilités entre framework Ajax.
Hors ligne
ton tabcontainer() va créer dans ton header la fonction $(#id).tabcontainer();
Sa se rajoute dans le bootstrap au niveau du initview, je l'indoque bien pourtant dans mon tuto sur l'installation de ZendX.
ZendX_JQuery_View_Helper_JQuery::enableNoConflictMode();
Hors ligne
Désolé... j'avais pas regarder le bon tutorial...
Hors ligne
c'est pas bien grave
par contre après tes scripts dans des fichiers js de code perso jquery, faudra mettre aussi $j au lieu de $.
Hors ligne
Benh avec ZendX_JQuery_View_Helper_JQuery::enableNoConflictMode(); dans le bootstrap et sans rien faire d'autre, ça remarche
Hors ligne
c'est du tout bon alors
hésite pas à demander des conseils (idem si t'as des questions sur mes sujets)
Hors ligne
Si tu as une idée pour un autre sujet que j'ai posté, je suis preneur
http://www.z-f.fr/forum/viewtopic.php?id=4893
Hors ligne
throrin19, j'aurais un autre ptit bout de question toujours sur l'histoire de la dialogbox...
J'arrive à faire ce que je veux (enfin à peu près). Je me pose maintenant la question suivante : si je veux ouvrir ma modal popup lorsque l'utilisateur clique sur un lien, est-ce je suis obligé de passer par onClick ou est-ce qu'il y a moyen de faire un call à une fonction zend?
J'ai quelques accès asynchrone qui marche, mais qui ne renvoie pas pour le moment de donnée à afficher sur la vue.. résultat je me demande si la méthode reste valable, et si elle l'est comment la mettre en oeuvre...
Hors ligne
tu peux faire comme tu le sens. Mais avec l'appel de ZendX_ je n'ai pu le faire qu'avec un onclick et au final sa allait pas.
J'ai donc refais l'appel comme je le pensais dans une fonction prévue à cet effet et qui lance ma fenêtre quand je clic sur un bouton avec une certaine class (vive les écouteurs).
Sinon dans la doc JQuery dialog, ils donnent la ligne prévue et il me semble que j'en parles aussi.
will initialize a dialog instance and will auto-open the dialog by default. If you want to reuse a dialog, the easiest way is to disable the "auto-open" option with: $(foo).dialog({ autoOpen: false }) and open it with $(foo).dialog('open')
tu met le $(foo).dialog('open') dans le onclick de ton bouton
Hors ligne
Encore merci... celà étant je viens de découvrir que ma feuille de style jquery ne s'applique plus correctement mis à part sur mon menu Tab... grrrrrr
oups.. non ça marche
Dernière modification par mymt (23-03-2010 19:47:46)
Hors ligne
Bon je coince toujours sur ma modal-popup....
Je souhaite en fait afficher une série de contact (lien dans un tableau pour chacun d'entre eux) permettant d'ouvrir une modal popup, et dans cette popup afficher des détails concernant le contact en question...
Si qqn a un bout de code pour me montrer comment faire je suis preneur... je raaaaaaaaaaaaaaaaame!!
Hors ligne
j'ai fais un truc du genre mais avec un tableau qui s'agrandit quand on clique sur la ligne.
Suffit juste de dire à ta modal boxe d'avoir le contenu d'une page externe (donc d'une action). pour plus de sécurité tu vérifie que la requête provient d'ajax. Je n'ai plus le code sous la main mais je sais que des bouts trainent à droite à gauche.
Je te cherche ça mais je peux que ce week-end.
Hors ligne
merci thorin!! encore une fois je crois que tu vas m'enlever une belle épine du pied!!
Hors ligne
mais de rien
Hors ligne
Je te donne la réponse en javascript. je ne sais pas si sa marche, je viens de bricoler un truc donc tu me dira mais les principaux éléments sont là.
Sa c'est la dialog box
function dialogcom(){ //quand je clic sur le lien ayant la class lienb des tr du tabgestion $('#tabgestion tr .liencom').click(function(event){ //je désactive le suivit du lien event.preventDefault(); //je récupère le href var href = $(this).attr('href'); //je créée mon dialog $('#fnetrecom').dialog({ "bgiframe" : true, "draggable" : true, "modal" : true, "resizable" : false, "closeOnEscape" : true, "close" : function() { $(this).dialog('destroy'); }, "buttons" : { "Annuler" : function() { $(this).dialog("close"); }, "Valider" : function() { document.location = href; } } }); }); }
//quand tu clique sur la partie qui t'intéresse $('#tabgestion tr .plus').click(function(event){ $(this).parent().next('.detailsRow').toggle(); var element = $(this); //on récupère $this $.ajax({ type: "POST", url: "/throrinstudio2.com/blog/privatecommentaire/lister/", data: "id="+$(this).attr('id'), success: function(msg){ element.parent().next('.detailsRow').children().empty(); //vide element.parent().next('.detailsRow').children().append(msg); } });
Pour explication, je dis que quand je clique dans une case de mon tableau, je récupère l'id de mon article stoqué dans l'attribut id de la case.
JQuery va chercher dans une autre action les commentaires liés à cet article dans une autre action et je les affiches dans l'élément suivant ayant pour classe .detailsRow.
Voilà, avec quelques remaniement tu demande que sa mette tes infos dans la div de ta modal box (qui est en hidden) et c'est tout. A oui, les infos retournées c'est toute ta page cible donc désactive le layout et formate ta vue comme tu l'entends
Hors ligne