发新话题
打印

symfony只使用css实现分页

symfony只使用css实现分页

只使用(ul/li)
结合css
(article/list/category_id/5/page/3 instead of article/list/page/3)

PaginationHelper.php
复制内容到剪贴板
代码:
function pagination($pager)
{
    $uri = sfRouting :: getInstance()->getCurrentInternalUri();
    $html = '';
  
    if ($pager->haveToPaginate())
    {
        $uri .= strstr($uri, '?') ? '&page=' : '?page=';
  
        if ($pager->getPage() != 1)
        {
            $html .= '<li>' . link_to('first', $uri . '1') . '</li>';
            $html .= '<li>' . link_to('previous', $uri . $pager->getPreviousPage()) . '</li>';
        }
  
        foreach ($pager->getLinks() as $page)
        {
            if ($page == $pager->getPage())
                $html .= '<li><strong>' . link_to($page, $uri . $page) . '</strong></li>';
            else
                $html .= '<li>' . link_to($page, $uri . $page) . '</li>';
        }
  
        if ($pager->getPage() != $pager->getLastPage())
        {
            $html .= '<li>' . link_to('next', $uri . $pager->getNextPage()) . '</li>';
            $html .= '<li>' . link_to('last', $uri . $pager->getLastPage()) . '</li>';
        }
  
        $html = '<ul class="pagination">' . $html . '</ul>';
    }
  
    return $html;
}
CSS
复制内容到剪贴板
代码:
ul.pagination li {
    display: inline;
    list-style-type: none;
    padding-right: 1em;
}
在模版中调用
复制内容到剪贴板
代码:
<?php echo use_helper('Pagination') ?>
<?php echo pagination($pager) ?>
努力为phpres做贡献
时刻准备着,当机会来临时你就成功了
打好基础,增加社会经验
资深技术工程师是我的梦想
承接各种团体网站外包服务和各种it技术培训
准备申请AJAX版大,希望大家支持~~

TOP

发新话题