créer des filtres personnalisés pour un JModelList

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

  • [RÉGLÉ] créer des filtres personnalisés pour un JModelList

    bonsoir ,

    j'aimerai creer des filtres personnalisés pour un JModelList , j'ai pu coder ca (en resumé) pour un filtre standart :
    classe héritant du JModelList :
    Code PHP:
     protected function populateState($ordering null$direction null) {
    ...


            
    // Set the filter.published state
            
    $published $this->getUserStateFromRequest($this->context '.filter.published''filter_published');
            if (
    $published != '') {
                
    $this->setState('filter.published', array($published));
            }
    ...

            
    // Call populateState from JModelList
            //le trie par defaut des colonnes
            
    parent::populateState('id''asc');
        }
        protected function 
    getListQuery() {
            
    // Create a new query object.
            
    $db JFactory::getDBO();
            
    $query $db->getQuery(true);
            
    /* ----------- Recupération des données ----------- */
            // Select some fields
            
    $query->select(''
    ....
           
    // Filter by published state
            
    if ($published $this->getState('filter.published')) {
                
    $query->where('f.published IN (' implode(','$published) . ')');
            } else {
                
    $query->where('f.published IN (0, 1)');
            }
    ... 
    dans le vue:
    Code PHP:
    $published    = $this->state->get('filter.published');
    $published    = $published ? $published[0] : '';
    ....
    <select name="filter_published" class="inputbox" onchange="this.form.submit()">
      <option value=""><?php echo JText::_('JOPTION_SELECT_PUBLISHED');?></option>
      <?php echo JHtml::_('select.options'JHtml::_('jgrid.publishedOptions', array('all'=>false)), 'value''text'$publishedtrue);?>
    </select>
    ca marche tres bien , vue que jgrid.publishedOptions existe ...

    y a t il un moyen dans le framework d en faire des personnalisé (comme si dessus) , ou il faut les coder a la main ?


    cordialement .
    Dernière édition par b166er à 17/06/2011, 12h29

  • #2
    Re : créer des filtres personnalisés pour un JModelList

    résolu ! , jgrid.publishedOptions renvoie un simple array, donc , il faut faire une méthode genre getOptionsFilterMonfiltre() (qui renvoi un array a partir de la table MonFiltre) dans le model héritant du JModelList et de l'afficher dans le template...bref, c’était une question de débutant .

    si ça intéresse quelqu'un , je posterai le code en entier fonctionnel .

    Commentaire

    Annonce

    Réduire
    Aucune annonce pour le moment.

    Partenaire de l'association

    Réduire

    Hébergeur Web PlanetHoster
    Travaille ...
    X