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
http://docs.joomla.org/Using_JPagination_in_your_componente mi sembra che sia tutto giusto.
Grazie, Mattia