Un formulaire dans une vue site

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Un formulaire dans une vue site

    Bonjour,

    Actuellement je travail sur un composant comportant plusieurs vues site, dont l'une contient un formulaire de recherche (recherche d'éléments spéciaux), une fois cliqué sur le bouton d'envoi de la recherche, le controller intervient (jusque là, tout va bien), ce dernier exécute une fonction (qui se trouve dans le model) de recherche dans la base de données, mais comment renvoyer les résultats à la vue et les affichés ?

    Actuellement j'affiche les résultats dans le model, ce qui ne respecte pas le modèle mvc, et je ne vois vraiment pas comment le faire

    Merci d'avance pour votre aide

    Cordialement,
    You0.

  • #2
    Re : Un formulaire dans une vue site

    Mon idée : à la requete stocker la liste des résultats dans un tableau renvoyé à la vue puis parcourir le tableau dans la vue.

    Commentaire


    • #3
      Re : Un formulaire dans une vue site

      Voila le code de ma vue :
      Code PHP:
      <?php
      // No direct access to this file
      defined('_JEXEC') or die('Restricted access');

      JHtml::_('behavior.keepalive');
      JHtml::_('behavior.formvalidation');
      JHtml::_('behavior.tooltip');

      ?> <!-- ** Formulaire de recherche ** -->
          <form class="form-validate" action="<?php echo JRoute::_('index.php'); ?>" method="post" id="searchform360" name="searchform360">
              <fieldset>
                  <dl>
                        <dt><?php echo $this->form->getLabel('idCat'); ?></dt>
                       <dd><?php echo $this->form->getInput('idCat'); ?></dd>
                      <dt></dt><dd></dd>
                      <dt><?php echo $this->form->getLabel('titreVisite'); ?></dt>
                      <dd><?php echo $this->form->getInput('titreVisite'); ?></dd>
                      <dt></dt><dd></dd>
                      <dt></dt>
                      <dd><input type="hidden" name="option" value="com_form360" />
                          <input type="hidden" name="task" value="searchform360.submit" />
                      </dd>
                      <dt></dt>
                      <dd><button type="submit" class="button"><?php echo JText::_('Submit'); ?></button>
                                  <?php echo JHtml::_('form.token');?>
                      </dd>
                  </dl>
              <fieldset>
          </form>
          <div class="clr"></div>
      Le problème étant que je ne sais pas du tout comment renvoyer des éléments à cette page après le traitement (submit)

      Commentaire


      • #4
        Re : Un formulaire dans une vue site

        Tu est sur que tu na pas 2 vues ?? une pour le formulaire et une pour les résultats ??

        Commentaire


        • #5
          Re : Un formulaire dans une vue site

          non pour le moment je n'en ai qu'une seul car je n'ai pas trouvé d'explication sur la réalisation de ce genre de formulaire, je me suis basé sur le composant helloWorld, mais ils font le retour (un simple affichage) dans le controller.

          Aurais-je besoin d'une autre vue, un autre model pour retourner les résultats ?
          Si oui comment faire pour que le controller qui traite la requête (celui de la recherche) retourne le résultat au modèle de l'affichage du résultat alors que je l'appel avec celui du formulaire ?

          Commentaire


          • #6
            Re : Un formulaire dans une vue site

            Il faut que tu divise ta vue en 2 parties, 1 partie pour le formulaire avec le code déjà existant qu tu a poster, et 1 partie pour afficher les résultats si il existes... par contre on est bien d'accord que tu est dans un contexte front-end et non back-end ??

            Commentaire


            • #7
              Re : Un formulaire dans une vue site

              Je suis en front-end

              Commentaire


              • #8
                Re : Un formulaire dans une vue site

                Après quelques modifications, j'ai compris que le résutat de ma fonction submit ne peut pas être envoyer à la vue, car aucune variable ne contient le résultat :

                <input type="hidden" name="option" value="com_form360" />
                <input type="hidden" name="task" value="searchform360.submit" />

                Ces 2 lignes indiquent au formulaire qu'il doit être traiter dans le controleur, mais à aucun moment j'enregistre le résultat...

                Pour le moment j'ai enlever ces 2 lignes, et je fais le traimtenent dans le view.html, d'où j'appel une fonction du model qui fait le traitement sur le formulaire et la recheche, mais le modèl mvc n'est pas respecter car je traite des données saisies par l'utilisateur dans le model au lieu de le faire dans le controler.

                Pour faire simple, le problème vient du fait que je n'arrive pas à appeler une fonction du controler, que ce soit à partir de la vue ou du view.html...

                Commentaire

                Annonce

                Réduire
                Aucune annonce pour le moment.

                Partenaire de l'association

                Réduire

                Hébergeur Web PlanetHoster
                Travaille ...
                X