Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Chaque élement dans le formulaire s'empile les uns sous les autres. J'aimerais que le bouton 'Submit' et 'Reset' et un lien 'Retour à la liste' soient sur la même ligne.
Avez vous une piste pour réaliser cet agencement ?
Cordialement
Ami
Dernière modification par ami (12-06-2009 14:09:41)
Hors ligne
et aussi les css
Hors ligne
Salut ami, si tu cherche bien sur le forum, tu vera que je parle de l'option closeOnly et openOnly qui permettent respectivement de ne pas fermer/ouvrir une balise.
Bon courage
Hors ligne
gostbuster a écrit:
Salut ami, si tu cherche bien sur le forum, tu vera que je parle de l'option closeOnly et openOnly qui permettent respectivement de ne pas fermer/ouvrir une balise.
Bon courage
Merci pour ce début de piste. j'en étais a me dire que je devais construire mon propre Zend_Form_Element.
Merci gostbuster
Hors ligne
solution
$submit = new Zend_Form_Element_Submit('submit'); $submit->setDecorators(array( 'ViewHelper' , array('HtmlTag', array('tag' => 'dd', 'openOnly' => true )) )); $this->addElement( $submit ); $reset = new Zend_Form_Element_Reset('reset'); $reset->setDecorators(array( 'ViewHelper' , array('HtmlTag', array('tag' => 'dd', 'closeOnly' => true)) )); $this->addElement( $reset );
Merci
Hors ligne
J'ai un peu le meme souci je me permets donc de relancer cette conversation.
Je cherche à aligner non pas 2 mais 5 éléments, dans ce cas comment dire que je ne veux pas de balises <dd> ou <dt> sur les éléments du milieu ?
ca fait 2 jours que je tourne en rond alors j'appelle à l'aide... Merci d'avance pour vos réponses !
Hors ligne
pas testé :
$submit = new Zend_Form_Element_Submit('submit'); $submit->setDecorators(array( 'ViewHelper' , array('HtmlTag', array('tag' => 'dd', 'openOnly' => true )) )); $this->addElement( $submit ); $intermediare = new Zend_Form_Element_Reset('reset2'); $intermediare->setDecorators(array('ViewHelper')); $this->addElement( $intermediare ); $reset = new Zend_Form_Element_Reset('reset'); $reset->setDecorators(array( 'ViewHelper' , array('HtmlTag', array('tag' => 'dd', 'closeOnly' => true)) )); $this->addElement( $reset );
Hors ligne
Merci pour ta réponse super rapide, malheureusement la solution que tu me proposes est de ne garder que le décorateur de vue, or j'ai besoin de garder mon décorateur Label qui est entouré de <dt>.
J'ai essayé d'utiliser removedecorator('DtDdWrapper') mais j'ai malgré tout mes <dt> et <dd>, c'est très étrange... personne d'autre n'a eu ce cas de figure ?
Hors ligne
Pourquoi chercher à faire les modifications au niveau du PHP alors qu'il suffit de toucher un peu au CSS ? ^^
Les éléments de formulaire possèdent des IDs. Il suffit alors d'appliquer du style sur ceux ci.
Par exemple, pour aligner mes deux boutons "envoyer" et "annuler" :
#submit-label, #cancel-label { display: none; } #submit-element, #cancel-element { float: left; } #cancel-element { /* permet de décaler un peu par rapport à l'autre bouton */ margin: 0; margin-left: .5em; } /* pour rendre moins important le bouton "annuler" */ #cancel-element input { border: none; background-color: transparent; margin-top: .3em; cursor: pointer; } #cancel-element:before { content: "|"; }
L'avantage est qu'il est possible de changer l'apparence facilement sans revenir sur le PHP.
Hors ligne
Cette solution du CSS est intéressante, mais tant que j'aurai des <dt> et des <dd>, quoi que je fasse j'aurai une liste et non pas mes 5 champs (dont des champs textes avec label) sur une seule ligne. Je pensais justement utiliser du CSS une fois que je me serai débarassée de ces balises contraignantes
en fait ce que je cherche a obtenir c'est un truc du genre
label1 label2 label3 label4
|champ1| |champ2| |champ3| |champ4| submit
et la fonction removeDecorator(DtDdWrapper) semble ne pas fonctionner chez moi...
Hors ligne
ami a écrit:
Selon moi, seul le css avec des {float:left;} te permettrons ca.
oui je suis d'accord mais dans des balises <dd> et <dt> (liste verticale) je peux raconter ce que je veux ça restera vertical donc comment supprimer ces balises ?
Hors ligne
Pages: 1