繁体   English   中英

如何在joomla中实现分页?

[英]How to implement pagination in joomla?

我正在joomla中实现分页。以下是代码

      $db = JFactory::getDbo();
      $query = $db->getQuery(true)
                        ->select('c.*,cat.alias as catalias')
                        ->from('#__content AS c')
                        ->from('#__categories AS cat')
                        ->where('c.catid=19','AND')
                        ->where('c.state=1','AND')
                        ->where('c.catid = cat.id')
                        ->order('c.created '.' ASC');

    $db->setQuery($query,0,5);
    $results = $db->loadAssocList();
    $db->setQuery('SELECT FOUND_ROWS();');
    jimport('joomla.html.pagination');
    $pager= new JPagination($db->loadResult(), 0, 2);

    foreach ($results as $res) {  
    echo $res['id'];
    ....
    .....
    }

    echo $pager->getListFooter();

这显示页脚的页码(如带有超链接的1 2 3)基于页面限制(3页中的6个记录(页面限制2))。但是所有记录都显示在单个页面中。不是每个页面中有两个记录。

这里有什么需要改变。请帮助我。

提前致谢

我得到了我的问题的解决方案:

    $db = JFactory::getDbo();
    $app = JFactory::getApplication();
    $limit = $app->getUserStateFromRequest("$option.limit", 'limit', 2, 'int');
    $limitstart = $app->input->get('limitstart', 0, 'INT');
    $query = $db->getQuery(true)
             ->select('SQL_CALC_FOUND_ROWS c.*,cat.alias as catalias')
             ->from('#__content AS c')
             ->from('#__categories AS cat')
             ->where('c.catid=19','AND')
             ->where('c.state=1','AND')
             ->where('c.catid = cat.id')
             ->order('c.created '.' ASC');

    $db->setQuery($query,$limitstart, $limit);
    $results = $db->loadAssocList();
    if(!empty($results)){
        $db->setQuery('SELECT FOUND_ROWS();');
        jimport('joomla.html.pagination');
        $pager= new JPagination($db->loadResult(), $limitstart, $limit);

        foreach ($results as $res) {  
            echo $res['id'];
            YOUR_CODE_HERE
        }

        echo $pager->getListFooter();
   }

如果要更改默认文章分页,则必须覆盖分页内容插件的默认模板。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM