• Bannato User

    [1.5] problema con JPagination

    Ho un problema con JPagination: compare solo la listbox con il numero di items da visualizzare senza i numeri delle pagine (chiamando il metodo getListFooter dovrebbe farlo) e cambiando valore nelal listbox non succede niente. Come ciliegina sulla torta c'è la grafica, che viene completamente "sconvolta". Di seguito metto il model che ho costruito nel quale uso JPagination

    
    <?php
    // Impedisce l'accesso diretto al file
    defined('_JEXEC') or die();
    
    // Include la classe base JModel
    jimport('joomla.application.component.model');
    
    class ADSManagerModelADS extends JModel {
        
    	var $_total = null;
    	var $_pagination = null;
    	var $_data;
    	var $_cat;
    	function __construct() {
    		parent::__construct();
    		$this->_cat = JRequest::getVar('cat');
    		
    		global $mainframe, $option;
    		
    		$limit	= $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
    		$limitstart = $mainframe->getUserStateFromRequest($option.'limitstart', 'limitstart', 0, 'int');
    		$limitstart = ($limit != 0 ? (floor($limitstart / $limit) * $limit) : 0);
    		
    		$this->setState('limit', $limit);
    		$this->setState('limitstart', $limitstart);
    	}
    	
    	function &getData() {
            if(empty($this->_data)) {
                $query = $this->_buildQuery();
    			$pagination = $this->getPagination();
                $this->_data = $this->_getList($query, $pagination->limitstart, $pagination->limit);
            }
            return $this->_data;
        }
    	
    	function &getPagination() {
    		if (empty($this->_pagination)) {
    			jimport('joomla.html.pagination');
    			$this->_pagination = new JPagination( $this->getTotal(), $this->getState('limitstart'), $this->getState('limit') );
    		}
    		return $this->_pagination;
    	}
    	
    	function getTotal() {
    		if (empty($this->_total)) {
    			$query = $this->_buildQuery();
    			$this->_total = $this->_getListCount($query);
    		}
    		return $this->_total;
    	}
    	
    	function _buildQuery() {
            $query = 'SELECT * FROM #__adsmanager where category = \''.$this->_cat.'\'';
            return $query;
        }
    }
    ?>
    

    Dove sbaglio?
    Ho seguito anche questa guida docs.joomla.org/Using_JPagination_in_your_component
    e mi sembra che sia tutto giusto.
    Grazie, Mattia