2013-03-21 108 views
2

我想添加分页到我的组件,我用查询创建了一个简单的模型。我肯定错过了什么。我还需要什么?Joomla 2.5分页

MODEL 
jimport('joomla.application.component.modellist'); 
class PaieskaModelPradinis extends JModelList 
{ 
    public function getListQuery() 
    { 
    $db = JFactory::getDBO(); 
    $query = "SELECT * FROM #__content"; 
    $db->setQuery($query); 
    $db->query($query); 
    $result = $db->LoadObjectList(); 
    return $result; 
    } 
} 

VIEW 

jimport('joomla.application.component.view'); 
class PaieskaViewPradinis extends JView 
{ 
    protected $items; 
    protected $pagination; 
    function display ($tpl = null) 
    { 
     $this->items = $this->get('ListQuery'); 
     $this->pagination = $this->get('Pagination'); 

     parent::display($tpl); 
    } 
} 
TPL 
foreach ($this->items as $item) { 
    echo $item->title; 
} 

编辑:

我编辑了一下代码,所以现在工作得很好,几乎。按钮显示(要显示的行数)不起作用。我想知道这部分是否可以以不同的方式完成?

$limit  = JRequest::getVar('limit' , 25); 
    $start  = JRequest::getVar('start' , 0);   
    $query  = "SELECT * FROM #__content LIMIT $start, $limit"; 

-

class PaieskaModelPradinis extends JModelList 
{ 
    public function getItems() 
    { 
     $db   = JFactory::getDBO(); 
     $limit  = JRequest::getVar('limit' , 25); 
     $start  = JRequest::getVar('start' , 0);   
     $query  = "SELECT * FROM #__content LIMIT $start, $limit"; 
     $db->setQuery($query); 
     $db->query($query); 
     $lists = $db->LoadObjectList(); 

     return $lists; 
    } 
    function getPagination() 
    { 
     $main = JFactory::getApplication(); 
     $db   = JFactory::getDBO(); 
     $limit  = JRequest::getVar('limit' , 25); 
     $limitstart = JRequest::getVar('limitstart', 0); 

     $query  = "SELECT count(title) FROM #__content"; 
     $db->setQuery($query); 
     $total  = $db->loadResult(); 

       // include a pagination library 

     jimport('joomla.html.pagination'); 
     $pagination = new JPagination($total, $limitstart, $limit); 

     return $pagination; 
    } 
} 

VIEW 

jimport('joomla.application.component.view'); 
class PaieskaViewPradinis extends JView 
{ 
    function display($tpl = null) 
    { 
     $this->items = $this->get('items'); 
     $this->pagination = $this->get('pagination'); 

     parent::display($tpl); 
    } 
} 

回答