IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Form PHP Discussion :

Insérer balises <hr> ou <br> dans un formulaire


Sujet :

Zend_Form PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    jux
    jux est déconnecté
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 36
    Par défaut Insérer balises <hr> ou <br> dans un formulaire
    Bonjour, cela fait 2 semaines que j'apprend et programme en zend. Je ne trouve pas une solution au problème suivant, j'ai une classe dans mon répertoire models où je fabrique un formulaire avant de le transmettre à la vue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    ...
     
    $email = new Zend_Form_Element_Text('EMAIL');
            $email->setLabel('E-mail : ')
            ->setAttribs(array('size' => 30,'maxLength' => 50)) 
            ->addFilter('StripTags')
            ->addFilter('StringTrim')
            ->addFilter('StringToLower')
            ->addValidator('EmailAddress');
    etc... 
     
    //puis :
     
    $this->addElements(array($choix, $civ,....));
    Je souhaite pour aérer mon formulaire mettre des traits <hr> et des retours à la ligne <br> dans mon formulaire.
    J'ai essayé plusieurs techniques comme

    $hr=new Zend_Form_Decorator_HtmlTag('br'); puis mettre $hr dans le addElements

    sans aucun résultat et je ne trouve pas réponse à mon pb sur les forums et tutoriaux.

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Par défaut
    La solution que je peux te proposer est décrire le formulaire élément après élément et insérer ce que tu veux entre.

    Dans ton controlleur si tu as fait quelques chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $form = new Form;
    $this->view->form = $form;
    Dans ta vue tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $form->$email;
    Tu n'aura que ton champ "email" d'afficher, tu peux ensuite mettre les lignes que tu veux et faire de même pour chaque élément.

    Je n'ai pas d'autre solution pour le moment.


  3. #3
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Bonjour,

    Alors je suis désolé de paraître brusque, mais XHTML n'est pas fait pour être beau, ce n'est donc pas dans Zend_Form ou dans ton formulaire que tu dois modifier du code pour ajouter des balises hr ou br.

    Néanmoins, le soucis d'ergonomie reste évident et il faut donc au niveau de la présentation aérer ton formulaire. Alors je te conseil de le faire au niveau de ta feuille de style CSS.

    Voici comment faire proprement :
    1 - Ajoute une classe à chacun de tes formulaires (Zend_Form_Element::setAttrib('class','classfoo');
    Tu obtiendras un code tel que celui-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" id="nom" name="nom" class="classfoo"/>
    2 - Dans ta feuille de style ajoute des marges, des bordures sur ces classes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    input.classfoo{
        display:block;
        margin : 3em;
        border-top : thin solid #000;
    }
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 215
    Par défaut
    Bonjour,

    N'est-il pas possible, dans le but d'uniformiser la présentation, de définir les attributs de façon permanente ? J'ai pensé dans le bootstrap, bien que ça oblige l'affectation à chaque page, et donc même celles sans formulaire...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insérer balise autour d'un text dans textarea
    Par Anonyme1784 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/06/2015, 20h06
  2. Insérer balise de code dans microsoft office
    Par dds69 dans le forum Word
    Réponses: 2
    Dernier message: 02/04/2013, 13h49
  3. [VBA] insérer un tableau Excel dans un formulaire
    Par Alexj51 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 08/02/2006, 13h15
  4. insérer une image dans un formulaire
    Par roms1 dans le forum IHM
    Réponses: 5
    Dernier message: 23/11/2005, 16h27
  5. insérer un tableau dans un formulaire ACCESS
    Par julie76 dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2005, 18h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo