Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-11-2008 19:19:22

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

[ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Bonsoir à tous,

un truc simple :
le code :

Code:

$form = new Zend_Form('hotel');
        $form->setAction('')
            ->setName('unhotel')
             ->setMethod('post');
etc.

Résultat :

Code:

<form id="unhotel" enctype="application/x-www-form-urlencoded" action="" method="post">

Pourquoi me met il l'attibut de setName dans ID, et j'ai essayé de paramétrer le 'name' avec setAttrib('name','unhotel') ou bien avec setAttribs(array('name'=>'unhotel')...

Je ne vois plus quoi changer et je ne trouve pas dans la doc un exemple de formulaire dans lequel le paramètre 'name' est positionné...

Hors ligne

 

#2 17-11-2008 19:37:58

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

J'ai vu cette contribution :
http://framework.zend.com/issues/browse/ZF-4466
Mais le commentaire ne règle pas le problème.

J'ai besoin de nommer un formulaire pour un script et je galère depuis 2 heures. Je perds trop de temps sur des choses qui devraient être triviales.

Pourquoi diable $form->setName('unNom') ne fonctionne pas ?!?
ça va à l'encontre de toute écriture d'un code instinctif.

J'en suis à me demander si j'ai pris la bonne option avec le ZF...

Démoralisé...

Dernière modification par Jean-Marc Rigade (17-11-2008 20:10:02)

Hors ligne

 

#3 17-11-2008 21:37:52

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

l'attribut 'name' n'a aucun sens dans une balise form.

L'id se voit affecter le nom que tu as donnér à ton élement si tu ne lui donne pas d'id.

si l'id ne te plait pas, passe le en paramètre 'id' => 'monId'

Ton problème n'est pas vraiment le ZF lui même, mais je dirais que tu manques une certaine logique dans la compréhension du but des fonctions, ou bien de lacunes dans le HTML (et CSS ?) (a toi de trouver..)

Dernière modification par nORKy (17-11-2008 21:39:01)


----
Gruiiik !

Hors ligne

 

#4 17-11-2008 22:17:46

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

J'ai modifié mon javascript qui fonctionnait jusque là avec le 'name' de la form pour qu'il marche avec l'ID.

Quoi qu'il en soit, tu as beau donner une valeur à l'ID, il se fout royalement de l'attribut name.

En effet l'attribut name n'est plus utilisé, mais il est toujours pris en compte par le w3c et peut être adressé par le javascript, il a donc encore, un peu, un sens.

D'autre part la doc du ZF reste assez vague là dessus et ce lien : http://framework.zend.com/issues/browse/ZF-4466 que j'ai déjà donné prouve que je ne suis pas le seul connard de la galaxie.

Donc un peu de modestie et de circonspection dans tes réponse seraient bienvenues.

Car en retour, je te donne un petit conseil aussi, essaye l'humilité, juste pour voir, c'est un chemin long, difficile, que l'on espère tous un jour ne pas être le seul à emprunter.

Hors ligne

 

#5 18-11-2008 09:25:06

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Rien à voir avec l'humilité. Je te conseil de travaillé avec l'id, c'est tout.
Si tu étais un connard, je te l'aurais dit.

L'attribut 'name' est déprécié et amené à disparaitre. D'ailleurs, en XHTML 1.1 il est invalide. (du moins dans les balises ou il n'a pas d'interet. Il reste dans certaines balises comme param par exemple)

De plus, remplacer un appel getElementByName par un getElementById, je pense que cela est simple à faire.
Si tu as un problème javascript, alors, pose ton problème.

setName est principalement utilisé pour identifier les élements à l'intérieur du ZF

Je cite la doc du ZF que tu as lue :

Code:

While a form's usefulness primarily derives from the elements it contains, it can also contain other metadata, such as a name (often used as a unique ID in the HTML markup);
...
// Set the name:
$form->setName('registration');

// Retrieve the name:
$name = $form->getName();

Dernière modification par nORKy (18-11-2008 09:36:27)


----
Gruiiik !

Hors ligne

 

#6 18-11-2008 09:49:49

gchau
Membre
Date d'inscription: 15-05-2008
Messages: 17

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

T’énerves pas Jean Marc t’es pas tout seul à pas connaître par cœur la doc par cœur (il faudrait idéalement qu’elle soit ouverte et interactive et d’ailleurs si mes idées encore fumeuse sur la question s’éclaircissent j’en feraient part à la communauté)  et puis tu n’es pas tout seul non plus à profiter de ces piqûres de rappel voire de ces cours de NOrky (sur zend_form en particulier)   qui malgré son coté bourru parfois est quand même sacrement bon et solidaire de ceux qui le sont un peu moins.   
A+

Hors ligne

 

#7 18-11-2008 09:51:39

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Hum... un petit message avant qu'on atteigne le point Godwin.

1) Quand on écrit dans un forum, on ne connait pas le mec en face : on ne connait pas son niveau technique, son caractère, son humeur du moment,...
2) Quand on lit un forum, le lecteur ne connait pas non plus le mec qui a écrit (niveau technique, caractère, humeur,...)

Tout ça pour dire que les phrases brutales qui passeraient sans problème dans la vie courante parce qu'on voit la tête du mec en face (ou parce qu'on l'imagine quand on connait le mec) passent assez mal dans un forum public...

Essayez de penser à ça quand vous écrivez un truc dans le forum... Bref il faut : ne pas être blessant et ne pas être susceptible.... je sais, parfois, c'est dur... mais si tous les informaticiens du monde se donnaient la main en chantant "I believe I can fly"....

A+, Philippe

Dernière modification par philippe (18-11-2008 09:57:34)


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#8 18-11-2008 10:06:32

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

J'ai réglé mes problèmes avec du Javascript, mais il y a un truc qui me reste en travers et je veux bien une explication :
J'ai une classe form toute simple, (pas de bouton c'est volontaire) :

Code:

class Listedeshotels extends Zend_Form
{
    /**
     * 
     *@param mixed $options 
     *@return void 
     */
    public function __construct ($options = null, array $tabhotels, $valselect)
    {
        parent::__construct($options = null);
        
        $leshotel = new Zend_Form_Element_Select('leshotels');
        $leshotel->addMultiOptions(array('0'=>'Faites un choix'))
                 ->addMultiOptions($tabhotels)
                 ->setAttrib('onchange','envoyerliste()')
                 ->setValue($valselect)
                 ->setRequired(true);
                 
        $this->setAttrib('id','listehotel');
        $this->addElement($leshotel);
    }
    /**
     * 
     */
    function __destruct ()
    {}
}

Bon elle vaut ce qu'elle vaut, en tout cas ça marche
Mais quand je regarde le code généré :

Code:

<form id="listehotel" enctype="application/x-www-form-urlencoded" action="" method="post" name="">
<dl class="zend_form">
<dt>&nbsp;</dt>
<dd>
<select name="leshotels" id="leshotels" onchange="envoyerliste()">
    <option value="0" label="Faites un choix" selected="selected">Faites un choix</option>
    <option value="2" label="Paris - Le Ritz">Paris - Le Ritz</option>
    <option value="3" label="Paris - Le Georges V">Paris - Le Georges V</option>
    <option value="4" label="Paris - Athené">Paris - Athené</option>
</select></dd></dl></form>

Pourquoi me génère t-il un attribut 'name' dans la balise <form>, alors que je ne vois pas où je lui demande ça ?!?
Bon ce n'est pas gênant vu que je ne l'utilise plus, mais pour un esprit inférieur comme le mien c'est troublant et la doc qui est devenue mon livre de chevet ne dissipe pas l'interrogation.
Mon doctype est :

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Y a t-il un lien avec les attributs générés ?

En conclusion, quand je vois que Zend_Form me génère tout seul un attribut 'name' vide dans la balise <form>, je me suis dit qu'il devait être possible de lui donner une valeur. Sauf qu'en faisant $nomdelaforme->setName('unnom'), l'attribut 'name' disparait.
Ok ça marche comme ça, mais je n'ai pas le génie nécessaire à percevoir la logique de la chose...

Hors ligne

 

#9 18-11-2008 10:13:59

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

gchau a écrit:

T’énerves pas Jean Marc t’es pas tout seul à pas connaître par cœur la doc par cœur (il faudrait idéalement qu’elle soit ouverte et interactive et d’ailleurs si mes idées encore fumeuse sur la question s’éclaircissent j’en feraient part à la communauté)  et puis tu n’es pas tout seul non plus à profiter de ces piqûres de rappel voire de ces cours de NOrky (sur zend_form en particulier)   qui malgré son coté bourru parfois est quand même sacrement bon et solidaire de ceux qui le sont un peu moins.   
A+

Il n'y a pas de problème avec ça.
Quand je vois une question à laquelle, je peux, ou je crois pouvoir répondre je le fais.

Mais il est parfois difficile de rester calme quand on voit qu'on avance pas, alors que la date de livraison approche et je vous passe le reste, les factures, les impôts, les taxes, les enfants, ma femme, mais vous avez sûrement tout ça aussi ! Veinards...

Hors ligne

 

#10 18-11-2008 10:24:58

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

j'ai pris ton codé que j'ai collé dans le mien et voici le résultat :

Code:

<form id="listehotel" enctype="application/x-www-form-urlencoded" action="" method="post"><dl class="zend_form">
<dt>&nbsp;</dt>
<dd>
<select name="leshotels" id="leshotels" onchange="envoyerliste()">
    <option value="O" label="Faites un choix">Faites un choix</option>
</select></dd></dl></form>

Donc, très bonne question oui.
Comment un attrib qu'on ne passe pas peut-il apparaitre ?

Quel version du framework as tu ?

Le doctype n'a rien à voir avec le ZF et le ZF ne réagit pas en fonction du DOCTYPE.


----
Gruiiik !

Hors ligne

 

#11 18-11-2008 10:28:24

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Je suis en version 1.6.2 et toi ?

Hors ligne

 

#12 18-11-2008 10:45:52

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

J'ai testé 1.7.0 (sorti hier, le site n'est pas à jour, mais si tu vas sur la page de téléchargement, c'est la 1.7.0)
en 1.6.2 et 1.6.1 et je n'ai pas d'attrib name.

désolé de ne pas avoir d'explications


----
Gruiiik !

Hors ligne

 

#13 18-11-2008 10:56:17

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

nORKy a écrit:

J'ai testé 1.7.0 (sorti hier, le site n'est pas à jour, mais si tu vas sur la page de téléchargement, c'est la 1.7.0)
en 1.6.2 et 1.6.1 et je n'ai pas d'attrib name.

désolé de ne pas avoir d'explications

Je vais essayer en passant à la 1.7.0.
Sinon j'ai activé Dojo sur mes views, tu penses que ça peut jouer ?

Je vais créer un projet vierge et faire simplement un formulaire pour voir.
J'aimerais vraiment comprendre d'où vient le problème.

Si je te zippe le code, il n'y a pas grand chose dedans pour le moment, tu pourrais jeter un œil ?

Aujourd'hui je n'ai pas trop de temps, je vais à Nantes pour une présentation Windev et Webdev de PC-Soft, mais si tu es ok je fais ça dés que possible.

Hors ligne

 

#14 18-11-2008 11:06:18

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

oui, tu peux me le zipper, pas de problème.

Je n'utilise pas Dojo, donc, je ne peux pas te dire si il peux modifier les attributs.


----
Gruiiik !

Hors ligne

 

#15 18-11-2008 11:15:28

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Hello,

Vous oubliez peut-être l'helper de vue Doctype. S'il est paramétré dans le bootpstrap comme prévu dans la doc. Il influence le rendu des éléments suivant sa méthode isXhtml().

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#16 18-11-2008 11:21:43

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

oui, mais un grep dans le code du ZF m'indique les changements suivant (en gros, j'ai pas tout noté)

- En XHTML le code des commentaire change  '<!--' en '<![CDATA[ '
- La fermeture des élements HTML de '>' en ' />'

Je n'ai rien trouvé qui pourrait pertuber la balise name à cause de isXhtml


----
Gruiiik !

Hors ligne

 

#17 18-11-2008 11:22:10

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

mikaelkael a écrit:

Hello,

Vous oubliez peut-être l'helper de vue Doctype. S'il est paramétré dans le bootpstrap comme prévu dans la doc. Il influence le rendu des éléments suivant sa méthode isXhtml().

A+

C'est peut être une piste.
Voici mon initView :

Code:

public function initView()
    {
       $view = new Zend_View();
        Zend_Dojo::enableView($view);
        $doctypeHelper = new Zend_View_Helper_Doctype();
        $doctypeHelper->doctype('XHTML1_TRANSITIONAL');
        $view->setEncoding("UTF-8");
        Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setView($view);
        Zend_Layout::startMvc();
    }

Bon je vais finir par être en retard moi, et je veux garder mes points de permis...

Hors ligne

 

#18 18-11-2008 11:23:35

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Vous oubliez peut-être l'helper de vue Doctype. S'il est paramétré dans le bootpstrap comme prévu dans la doc. Il influence le rendu des éléments suivant sa méthode isXhtml().

J'allais le dire, car j'ai failli me faire avoir aussi.
C'est tout de même bien fait ce ZF smile

Hors ligne

 

#19 18-11-2008 11:33:42

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Mr.MoOx a écrit:

C'est tout de même bien fait ce ZF smile

Je râle, mais je suis séduit par le ZF et je me rends compte du chemin qui me reste à faire pour maîtriser, même un peu, la totalité du truc.

Ceci dit j'ai vu que Rasmus Lerdorf, lui, ne jurait que par CodeIgniter

Mais j'ai déjà du mal avec un seul Framework...

Hors ligne

 

#20 18-11-2008 14:08:07

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Surtout ne change pas, sinon tu ne t'en sortira jamais smile

C'est vrai que c'est compliqué à maitriser, moi-même qui semble avoir des réponses à des questions, je tourne souvent encore en rond.
Mais avec le temps, ca commence à devenir intuitif..

N'oublie pas que le ZF est très maléable et que si par exemple tu galères trop avec les ZForm et que tu n'as que peux de temps, rien ne t'empêche de faire toi-même tes forms "à l'ancienne".


----
Gruiiik !

Hors ligne

 

#21 18-11-2008 14:16:59

ledahu
Membre
Date d'inscription: 13-03-2008
Messages: 69

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Jean-Marc,

Je ne te cache pas que j'ai aussi un soucis avec des champs qui changent si tu actives dojo dans tes forms mais c'est surtout des formulaires qui fonctionnent en 1.6.2 ne fonctionnent plus en 1.7.0 (les libellés des boutons disparaissent) pourtant je suis bien passé à dojo 1.2.1.
Je suis en train de faire un projet test avec presque rien pour voir.
Je vais donc voir si le doctype change des choses ou pas mais normalement il est bien configuré dans mon projet.

Hors ligne

 

#22 18-11-2008 14:19:21

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Hello,

nORKy a raison le doctype n'influence que les fermetures de tags '/>' et les commentaires.

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#23 18-11-2008 14:45:37

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

Je ne peux aider personne pour Dojo.
Par contre, je test en ce moment ZendX_JQuery, et il manque des choses dans la doc.

Par exemple, pour utiliser datePicker et tous les helper pour les formulaires, il ne faut pas décorer l'élement avec viewHelper, mais avec UiWidgetElement.


----
Gruiiik !

Hors ligne

 

#24 18-11-2008 20:20:44

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [ZF1.6.2][Zend_Form]Paramètre 'name', c'est pourtant simple non ?

mikaelkael a écrit:

Hello,

nORKy a raison le doctype n'influence que les fermetures de tags '/>' et les commentaires.

A+

En effet j'ai retiré les doctype du bootstrap et j'ai toujours un 'name' vide dans les formulaires.
J'ai créé un projet vierge sans fioritures ni Dojo, et dans ce cas, pas de problème, pas de name généré.

C'est vrai que je pourrais faire mes formulaires à l'ancienne, comme je le faisais avant que ZF ne connaisse le Zend_Form.
Mon but c'est d'aller vite, mais justement Zend_Form, quand on sait s'en servir fait gagner du temps.
Et je ne désespère pas d'y parvenir pour ça entre autre.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages