Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-08-2008 01:30:18

Zend_Noob
Nouveau membre
Date d'inscription: 20-08-2008
Messages: 6

[Decorator] rendu d'éléments des formulaires

bonjour,

je me lance depuis quelques jours sur le framework Zend, je me suis fait quelques tutos de base histoire de bien débuter et maintenant je suis en train de me refondre une petite appli que j'avais fait à l'arrache il y a quelques années...

bref, la, je viens juste de réussir à créer mon propre Decorator pour mes éléments du formulaire, j'ai quelques soucis qui se posent :

au lieu d'avoir un truc du genre

Code:

<input type="text" name="test" />

je me retrouve avec un truc moche du genre

Code:

<input type="text" name="test" helper="formText">

deux problèmes donc : c'est pas du xhtml (il manque le / qui va bien), et il y a un attribut "helper" dont je ne veux pas..

merci d'avance pour vos réponses pour ces questions

Dernière modification par Zend_Noob (20-08-2008 18:56:07)

Hors ligne

 

#2 20-08-2008 08:46:07

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

Re: [Decorator] rendu d'éléments des formulaires

Bonjour Zend_Noob,

j'ai aussi crée mon propre décorateur et je me retrouve avec les mêmes soucis que toi. Pour le moment j'ai modifié le code source pour qu'il enlève de lui même l'attribut 'helper="..."'.

Code:

        foreach ($attribs as $key => $val) {
            $tmp    = false;
            $keyLen = strlen($key);
            if ((6 < $keyLen) && (substr($key, 0, 6) == 'label_')) {
                $tmp = substr($key, 6);
            } elseif ((5 < $keyLen) && (substr($key, 0, 5) == 'label')) {
                $tmp = substr($key, 5);
            } elseif (substr($key, 0, 6) == 'helper'){ <---- ICI
        unset($attribs[$key]);
        }

            if ($tmp) {
                // make sure first char is lowercase
                $tmp[0] = strtolower($tmp[0]);
                $label_attribs[$tmp] = $val;
                unset($attribs[$key]);
            }
        }

Mais je ne pense pas que la façon dont nous créons les décorateurs soit correcte.
a++

Hors ligne

 

#3 20-08-2008 12:27:12

Zend_Noob
Nouveau membre
Date d'inscription: 20-08-2008
Messages: 6

Re: [Decorator] rendu d'éléments des formulaires

mouais, c'est bien mon impression aussi, vu que je ne trouve nul part sur le net d'informations sur la façon de créer du xhtml, comme si c'était évident...

enfin bon, merci pour ta réponse, mais je pense que je vais éviter de modifier le code de Zend, c'est pas le top ^^

Hors ligne

 

#4 20-08-2008 18:51:26

Jocio
Membre
Lieu: Marseille
Date d'inscription: 06-07-2007
Messages: 42

Re: [Decorator] rendu d'éléments des formulaires

Salut,

Je me suis posé la même question pour le XHTML.
En creusant un peu dans la doc officielle, j'ai trouvé la solution dans l'exemple 50.8 sur cette page http://framework.zend.com/manual/fr/zen … lpers.html

Dans le bootstrap, il faut mettre ces 2 lignes :

Code:

$doctypeHelper = new Zend_View_Helper_Doctype();
$doctypeHelper->doctype('XHTML1_STRICT');

Du coups, les rendus du framework respectent les normes du W3C ... je suis passé de beaucoup d'erreure à plus que quelques erreures de ma part grâce à cette ligne smile

tant qu'à faire, autant utilisé la méthode doctype() dans le layout.
Elle affiche la fameuse ligne en tout début de code HTML :

Code:

<?php echo $this->doctype() ?>
// affiche <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

A propos du helper, à la limite il te dérange pas des masses ...
Mais c'est vrai qu'on peut se demander à quoi il sert.


Pouf c'est tout !

Hors ligne

 

#5 20-08-2008 20:57:07

Zend_Noob
Nouveau membre
Date d'inscription: 20-08-2008
Messages: 6

Re: [Decorator] rendu d'éléments des formulaires

ha c'est cool ca ! merci pour la réponse Jocio ! dommage que l'on soit obligé de fouiller la doc dans ses moindres recoins pour trouver un truc aussi basique ^^

pour le helper en plus, ca me saoule quand même, je ne pense que ce soit autorisé par les normes w3c d'ajouter des attributs imaginaires... que ce soit détecté ou pas par le validateur...

enfin bref ^^

Hors ligne

 

#6 23-01-2009 21:46:19

Zend_Noob
Nouveau membre
Date d'inscription: 20-08-2008
Messages: 6

Re: [Decorator] rendu d'éléments des formulaires

Bon, je sais que le sujet date un peu, mais j'ai trouvé la réponse à mon problème en me remettant un peu sur ZF...

dans la classe decorator personnalisée, il suffit tout bêtement de mettre le code suivant pour virer l'attribut helper :

Code:

$element = $this->getElement();
$element->setAttrib('helper', null) ;

voila, comme ca, le sujet est définitivement clos smile

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