Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-10-2009 15:05:53

hadesjack
Membre
Date d'inscription: 12-10-2009
Messages: 23

modifier l'affichage d'un form (decorateur?)

Bien le bonjour.
Alors voilà je fait mes 1er pas en zend et j'arrive à afficher mes view et mes forms mais celon le format pres défini de zend et je souhaiterez en changer par exemple ce code .

Code:

<?php
class Form_rechercheForm extends Zend_Form
{
    public function __construct($identifiant = 0,$options = null)
    {
        
        parent::__construct($options);
        $this->setName('recherche');
                
        
        $this->setAction('/recherche/resultat');
        
        
        $utilisateurId = new Zend_Dojo_Form_Element_FilteringSelect('utilisateurId');
        $utilisateurId -> setLabel('choisir un utilisateur :')
                -> setStoreId('utilisateurStore')
                -> setStoreType('dojo.data.ItemFileReadStore')    
                -> setAutoComplete(true)
                -> setStoreParams(array('url' => '/utilisateurlist'))        
                -> setAttrib('searchAttr', 'email');
                
        $critere = new Zend_Form_Element_Select('utilisateur_id');
        $critere->setLabel('Critere')
            ->setMultiOptions(array('utilisateur','salle'))
            ->setRequired(true)
            ->addFilter('StripTags')
            ->addFilter('StringTrim')
            ->addValidator('NotEmpty');
 
         $submit = $this->createElement('submit', 'submit');
 
         $this->addElements(array($utilisateurId, $critere, $submit)); 
    }
}

va m'afficher un élément Zend_Dojo_Form_Element_FilteringSelect (qui ne celà dit en passant ne marche pas mais affiche une zone de saisi tout de même).  ainsi que Zend_Form_Element_Select  comment  puije gérer la sorti pour qu'il s'affiche cote à cote et non l'un en dessous de l'autre.

Il s'agit de décorateur je pensse mais je n'ai trouver de tuto expliquant clairement la chose.


En vous remerciant bonne journée.

Dernière modification par hadesjack (22-10-2009 14:12:35)

Hors ligne

 

#2 15-10-2009 14:53:05

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

Re: modifier l'affichage d'un form (decorateur?)

Comment as tu intégrer les javascript ? Je n'ai jamais utiliser Zend_Dojo, mais de mémoire il faut écrire un ligne dans son layout ou un truc du genre afin que les fichiers javascripts soient bien inclus !

Hors ligne

 

#3 15-10-2009 15:01:20

hadesjack
Membre
Date d'inscription: 12-10-2009
Messages: 23

Re: modifier l'affichage d'un form (decorateur?)

pour mon problème avec zend dojo j'ai crée un post différent à la base j'ai suivi un tuto pour la 1.7

http://www.z-f.fr/forum/viewtopic.php?id=4173.


Par contre une piste pour la mise en page?

Autrement un gros merci à la comunauté sans laquel je ne pourrais pas avancer ^^.

bonne journée.

Hors ligne

 

#4 19-10-2009 11:45:51

hadesjack
Membre
Date d'inscription: 12-10-2009
Messages: 23

Re: modifier l'affichage d'un form (decorateur?)

up

Hors ligne

 

#5 19-10-2009 11:51:17

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

Re: modifier l'affichage d'un form (decorateur?)

Y'a t-il des erreurs javascripts par hasard ?

Hors ligne

 

#6 19-10-2009 11:59:02

hadesjack
Membre
Date d'inscription: 12-10-2009
Messages: 23

Re: modifier l'affichage d'un form (decorateur?)

Non je n'en voie pas.

Hors ligne

 

#7 19-10-2009 12:01:47

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

Re: modifier l'affichage d'un form (decorateur?)

Sous quel navigateur as tu testé ?
Peux-tu montrer le code source généré de ta page ?

Hors ligne

 

#8 19-10-2009 12:03:31

hadesjack
Membre
Date d'inscription: 12-10-2009
Messages: 23

Re: modifier l'affichage d'un form (decorateur?)

Je vous remerci de vous intéresser à mon problème.
j'ai testé sous firefox.
et voici la page.

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!-- This Line will output the doctype we set inside the bootstrap file -->
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
  <title> Projet de test du Framework ZEND !</title>
  <!--
      The line below demonstrates usage of the headLink() view helper
      @see http://framework.zend.com/manual/en/zend.view.helpers.html
      -->
  <link href="/css/global.css" media="screen" rel="stylesheet" type="text/css" />  <style type="text/css">
<!--
    @import "http://ajax.googleapis.com/ajax/libs/dojo/1.2.0/dijit/themes/tundra/tundra.css";
-->
</style>
<script type="text/javascript">
//<![CDATA[
    var djConfig = {"usePlainJson":true,"parseOnLoad":true};
//]]>

</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.2.0/dojo/dojo.xd.js"></script>

<script type="text/javascript">
//<![CDATA[
dojo.require("dojo.data.ItemFileReadStore");
    dojo.require("dijit.form.FilteringSelect");
    dojo.require("dijit.form.Form");
    dojo.require("dojo.parser");
dojo.addOnLoad(function() {
    dojo.forEach(zendDijits, function(info) {
        var n = dojo.byId(info.id);
        if (null != n) {
            dojo.attr(n, dojo.mixin({ id: info.id }, info.params));
        }
    });
    dojo.parser.parse();
});
var utilisateurStore = new dojo.data.ItemFileReadStore({"url":"\/utilisateurlist"});
    var zendDijits = [{"id":"utilisateurId","params":{"store":"utilisateurStore","autocomplete":"true","dojoType":"dijit.form.FilteringSelect"}},{"id":"recherche","params":{"dojoType":"dijit.form.Form"}}];
//]]>

</script><style type="text/css">
<!--
    @import "http://ajax.googleapis.com/ajax/libs/dojo/1.2.0/dijit/themes/tundra/tundra.css";
-->
</style>
<script type="text/javascript">
//<![CDATA[
    var djConfig = {"usePlainJson":true,"parseOnLoad":true};
//]]>
</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.2.0/dojo/dojo.xd.js"></script>

<script type="text/javascript">
//<![CDATA[
dojo.require("dojo.data.ItemFileReadStore");
    dojo.require("dijit.form.FilteringSelect");
    dojo.require("dijit.form.Form");
    dojo.require("dojo.parser");
dojo.addOnLoad(function() {
    dojo.forEach(zendDijits, function(info) {
        var n = dojo.byId(info.id);
        if (null != n) {
            dojo.attr(n, dojo.mixin({ id: info.id }, info.params));
        }
    });
    dojo.parser.parse();
});
var utilisateurStore = new dojo.data.ItemFileReadStore({"url":"\/utilisateurlist"});
    var zendDijits = [{"id":"utilisateurId","params":{"store":"utilisateurStore","autocomplete":"true","dojoType":"dijit.form.FilteringSelect"}},{"id":"recherche","params":{"dojoType":"dijit.form.Form"}}];
//]]>

</script></head>
<body>
<div id="welcome">
    <center style="font-size: 20pt;">

    Projet de test du <span id="zf-name" style="font-size: 40pt;">Framework ZEND !</span>
    </center>
</div>
    <h1></h1>

<!-- This next call will now include any content that was generated in the
     dispatching of a controllers action (or series of actions).  -->
<form id="recherche" enctype="application/x-www-form-urlencoded" action="/recherche/resultat" method="post"><dl class="zend_form">
<dt id="utilisateurId-label"><label for="utilisateurId" class="optional">choisir un utilisateur :</label></dt>
<dd>
<input options="" searchAttr="email" listsep="&lt;br /&gt;" id="utilisateurId" name="utilisateurId" value="" type="text" /></dd>
<dt id="critere_choix-label"><label for="critere_choix" class="required">Critere</label></dt>

<dd id="critere_choix-element">
<select name="critere_choix" id="critere_choix">
    <option value="0" label="utilisateur">utilisateur</option>
    <option value="1" label="salle">salle</option>
</select></dd>
<dt id="submit-label">&nbsp;</dt><dd id="submit-element">
<input type="submit" name="submit" id="submit" value="submit" /></dd></dl></form><p><a href="/">Page d'accueil</a></p>


<!-- if your application requires it, this would be a great place to put a
     footer for all pages. -->
</body>
</html>

Hors ligne

 

#9 19-10-2009 12:13:09

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

Re: modifier l'affichage d'un form (decorateur?)

Déjà tu pourras remarquer que tu as du code générer en double dans ton header. Surement à cause de ton echo $this->dojo()->encorelethemecss
Peut etre que ça pose soucis ça.
Sinon après je connais pas trop dojo donc je suis pas mieux placer pour t'aider. Teste sous d'autres browsers et documente toi un peu sur Dojo pour voir si le code générer semble correcte.

Hors ligne

 

#10 19-10-2009 12:27:37

hadesjack
Membre
Date d'inscription: 12-10-2009
Messages: 23

Re: modifier l'affichage d'un form (decorateur?)

Bon je reviens pour dire que finalement j'ai trouvé une solution  ju'ai mis a jour mon répertoire library avec la dernière version de zend et cela ma débloqué mon problème je remonte le poste en résolu merci tout de même pour l'aide.

Hors ligne

 

#11 19-10-2009 12:32:00

hadesjack
Membre
Date d'inscription: 12-10-2009
Messages: 23

Re: modifier l'affichage d'un form (decorateur?)

Arf je n'avais pas vu mes 2 méssages ce sont entre croisé.

j'ai bien réolu mon souci avec dojo mais je n'ai pas réussi du coté de la mise en page.

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