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

  1. #1
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : septembre 2012
    Messages : 107
    Points : 86
    Points
    86
    Par défaut affichage de données en dehors des champs, dans un rendu de formulaire
    Bonjour.

    Aujourd'hui mon problème se situe au niveau du passage de valeur depuis mon controller à la vue de mon formulaire.

    controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     public function listfrfAction() {
            $request = $this->getRequest();
            if ($request->isPost()) {
                $formData = $this->_request->getPost(); 
                $form = new Front_Form_Listfrfcart();
    $count = functiontrucbidule();
     $this->form->count = $count;
    $this->view->form = $form;
    formulaire :
    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
    17
    18
    19
    20
    21
     
    class Front_Form_Listfrfcart extends Zend_Form {
     
        public function init() {
            $this->setMethod('post')
                    ->setName('create')
                    ->setAttrib('name', 'form_list');
            $scan = new Zend_Form_Element_Text('scan');
            $scan->setLabel('Scan d\'une FRF : ')
     
                    ->setAttrib('size', '30')
                    ->setAttrib('tabindex', '1')
                    ->setAttrib('autocomplete', 'off')
                    ->addFilters(array('StringTrim', 'StripTags'));
     
            $this->addElement($scan);
     
     
      $this->setDecorators(array(array('ViewScript',
                    array('viewScript' => '/frfcart/listscript.phtml'))));
        }
    vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <?php
        $this->form->setAction($this->url());
        echo $this->form;
        ?>
    vue du formulaire :
    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
    17
    18
    19
    20
    21
     
    <?php
    foreach ($this->element->getElements() as $element) {
        $decorator = $element->getDecorator('label');
        if ($decorator) {
            $decorator->setTag(null);
        }
    }
    ?>
     
    <form action="<?php echo $this->escape($this->element->getAction()); ?>"
          method="<?php echo $this->escape($this->element->getMethod()); ?>"
          name="<?php echo $this->escape($this->element->getAttrib('name')); ?>"
     
    ...... blablabla des champs de formulaire ...
     
     
     <td colspan="3">Il reste <?php echo($this->count); ?> FRF non traité pour ce fournisseur</td>
     
     
    ...... blablabla d'autre champ de formulaire ...
    Et le problème est que le <?php echo($this->count); ?> n'affiche rien. Je ne sais pas comment m'y prendre pour faire afficher le résultat de ma fonction à l'intérieur de mon formulaire.

  2. #2
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : septembre 2012
    Messages : 107
    Points : 86
    Points
    86
    Par défaut
    Bon je pensais pas y arriver, mais j'ai trouvé une façon, que je trouve tordues, de le faire:

    Creer un champ texte bidon, dans lequel on ne fait que mettre le nom et l'ajouter au formulaire. Dans le controller, on fait un setLabel($variable) sur ce champ texte. Et dans l'affichage du formulaire, on fait seulement afficher le label.

    Mais je trouve ça vraiment tordu comme moyen pour faire juste afficher une variable dans un formulaire.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/07/2009, 15h29
  2. [Spip] Ajouter et lire des champs dans la base de données Spip
    Par tim1789 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 21/12/2008, 00h21
  3. Editer des champs dans une base de données
    Par sleh12 dans le forum Débuter
    Réponses: 5
    Dernier message: 22/11/2008, 10h02
  4. [BO 11.5.0.0] Pb affichage des champs dans vue
    Par raoudi57 dans le forum Designer
    Réponses: 2
    Dernier message: 08/08/2008, 20h39
  5. Réponses: 3
    Dernier message: 25/02/2008, 11h18

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