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
Codice PHP:
<?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_JPagina...your_component
e mi sembra che sia tutto giusto.
Grazie, Mattia