setstate filter sur JModelList

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

  • [RÉGLÉ] setstate filter sur JModelList

    Bonjour,

    Donc j'ai ma classe JModelList

    Code PHP:
    class CollectionModelProduct extends JModelList {

        protected function 
    getListQuery() {

            
    $db JFactory::getDbo();
            
    $query $db->getQuery(true);

            
    $query->select('*'// product_id, client_id, product_name
                    
    ->from($db->quoteName('#__collection_product'));
            return 
    $query;
        }

    Dans une autre partie de mon composant je veux récupérer la liste de tout les produit d'un client.

    Code PHP:

    $mProduct 
    JModelLegacy::getInstance('product''collectionModel', array('ignore_request' => false));
    $mProduct->getState();
    $mProduct->setState('filter.client_id'$clientId);
    $mProduct->setState('list.limit'0);

    $res $mProduct->getItems(); 
    Le setState('list.limit', 0) fonctionne bien.
    Mais le filter.client_id ne fonctionne pas.

    Une idée de mon erreur ?

    D'avance merci.

  • #2
    Salut

    Je pense que ta fonction getListQuery est incomplete. Elle ne prend pas en compte ton parametre 'filter.client_id'.
    Tu devrais tester en la completant avec ca.
    Code PHP:
    if ( $this->getState('filter.client_id') != '' )
       {
       
    $query->where($db->qn('client_id') . ' = ' $db->Quote($this->getState('filter.client_id')) );
       } 
    Ou un truc comme ca.

    ++
    Wis

    PS : Je ne sais pas si c'est tjs d'actu.

    Commentaire


    • #3
      Merci Wismer.

      ça semble être la bonne solution.
      J'ai pas trouvé de doc sur se point (peut-être que j'ai mal cherché), en examinant le code de Joomla ça semble être la bonne utilisation.

      J'ai surestimé les capacités de JModelLegacy.

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X