Créer un filtre dans un composant

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

  • [RÉGLÉ] Créer un filtre dans un composant

    Bonjour,

    Je développe actuellement un composant Joomla ! 2.5 et je cherche à résoudre un autre petit soucis. Peut être pourrez-vous m'aiguiller aussi sur ce point.

    Mon composant permet d'afficher en frontend une liste des infos contenues dans des tables dédiées à ce composant. J'aimerais rajouter un filtre pour affiner les recherches.

    J'ai créé mon formulaire via un fichier XML dans le répertoire MODELS/FORMS dont les combobox sont alimentées par des listes définies dans le répertoire MODELS/FIELDS.

    Lorsque je clique sur le bouton valider, un appel est fait vers la méthode SUBMIT de mon controller. Je reçois bien mes données (les valeurs des filtres).

    Du controller, j'aurais aimé appeler une méthode du model dans laquelle j'aurais attribué les valeurs des filtres à des variables de la classe model, pour que, lors du prochain appel à la fonction qui fait le select sur ma table, les données puissent être filtrées.

    J'ai essayé cette technique, mais il semblerait que les données que j'assigne dans mon model soient écrasées lorsque je recharge la vue, comme l'instance de mon model n'était pas persistante.

    Bref, je dois mal faire un truc, mais j'aimerais, après validation du formulaire, dans le controller, stocker quelque part les valeurs des filtres, puis recharger la vue, rappeler la méthode du model permettant de faire le select avec les filtres, et récupérer les valeurs des filtres pour les afficher dans les champs du formulaire.

    Encore une fois, n'hésitez pas à me dire si je ne suis pas clair, j'essayerais de faire mieux.
    Merci par avance pour votre aide !
    Dernière édition par ElGringoTom à 28/03/2013, 01h17

  • #2
    Re : Créer un filtre dans un composant

    Salut,

    Tu parles de composant en front et après en backend. Le filtre tu le fais en Front ou en Back (affichage liste) ?
    www.weblogin.fr - Création, Référencement et Design de sites Internet.

    Commentaire


    • #3
      Re : Créer un filtre dans un composant

      Bonjour,

      Merci de prendre la peine de répondre
      Le filtre est sur le front. J'affiche ma liste de données, et je voudrais pouvoir filtrer les lignes grâce à des champs situés en tête du tableau.

      Commentaire


      • #4
        Re : Créer un filtre dans un composant

        Dans ce cas cherche du coté de setState() et getState(). Moi j'avais a faire comme toi donc j'ai fais comme ça :

        1- Dans mon tmpl de la liste, j'ai en haut une bare avec des liste sur chacunes d'elles un onchange="this.form.submit()" et le form à en action un renvoie vers la même page.
        2- Dans mon modèle, dans le constructeur je récupère les variables pour le filtre avec (par exemple pour un filtre d'ordre) : $this->setState('ordering', JRequest::getVar('ordering', 'titre'));
        3- Puis dans le modèle dans ta fonction qui fait le Get de tes éléments, tu utilises : $this->getState('ordering');

        Voila, avec ton SetState dans le constructeur tu ne perds pas la variable après le rechargement de la page, pas besoin de controller. Enfin si j'ai bien compris ce que tu voulais
        www.weblogin.fr - Création, Référencement et Design de sites Internet.

        Commentaire


        • #5
          Re : Créer un filtre dans un composant

          J'ai envie de dire, tu as bien compris !!

          Je viens de tester le truc, ça marche nickel. Je n'ai qu'un mot à dire, bravo .... et merci aussi. Du coup ça fait deux ... et je vais aller me coucher parce que je commence à dire n'importe quoi

          merci beaucoup en tout cas, je passe le sujet résolu !

          Commentaire


          • #6
            Re : Créer un filtre dans un composant

            Parfait alors ;-)
            www.weblogin.fr - Création, Référencement et Design de sites Internet.

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X