标签:silverstripe php pagination
我在使用PaginatedPages时遇到了麻烦.在docs中,可以自定义摘要.
有我的代码:
public function PaginatedPages($n = 10) {
$list = Page::get()->sort(array('Date' => DESC));
$Pages = new PaginatedList($list, $this->request);
if ($_GET['results'] != "") {
$n = $_GET['results'];
}
$Pages->setPageLength($n);
return $Pages;
}
模板页面底部的分页:
<div id="PaginatedPages">
<% if $PaginatedPages.MoreThanOnePage %>
<% if $PaginatedPages.NotFirstPage %>
<a class="prev" href="$PaginatedPages.PrevLink"><</a>
<% end_if %>
<% loop $PaginatedPages.Pages %>
<% if $CurrentBool %>
<a class="current">$PageNum</a>
<% else %>
<% if $Link %>
<a href="$Link">$PageNum</a>
<% else %>
...
<% end_if %>
<% end_if %>
<% end_loop %>
<% if $PaginatedPages.NotLastPage %>
<a class="next" href="$PaginatedPages.NextLink">></a>
<% end_if %>
<% end_if %>
</div>
此代码重现:
[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20]
我不想要这个.如果一个有20页的结果,它将显示所有,结果是漫长而丑陋的.
我想要以下内容:
[1] ... [9] [10] [11] [12] [13] ... [20]
解决方法:
您可以使用$PaginatedPages.PaginationSummary来实现此目的:
<div id="PaginatedPages">
<% if $PaginatedPages.MoreThanOnePage %>
<% if $PaginatedPages.NotFirstPage %>
<a class="prev" href="$PaginatedPages.PrevLink"><</a>
<% end_if %>
<% loop $PaginatedPages.PaginationSummary %>
<% if $CurrentBool %>
<a class="current">$PageNum</a>
<% else %>
<% if $Link %>
<a href="$Link">$PageNum</a>
<% else %>
...
<% end_if %>
<% end_if %>
<% end_loop %>
<% if $PaginatedPages.NotLastPage %>
<a class="next" href="$PaginatedPages.NextLink">></a>
<% end_if %>
<% end_if %>
</div>
PaginationSummary
返回一个摘要分页,它限制了当前页面周围显示的页面数,以实现视觉平衡.它
PaginationSummary可以使用参数来控制当前页面周围显示的页数.默认情况下,PaginationSummary将在当前页面周围显示4页(之前2页,之后2页.例如[1] … [4] [5] [[6]] [7] [8] … [25] ).调用PaginationSummary(6)将导致当前页面之前3页和3页之后.例如[1] …… [3] [4] [5] [[6]] [7] [8] [9] …… [25].数字应该始终是均匀的,因为每页的数量的一半显示在当前页面的两侧.
标签:silverstripe,php,pagination 来源: https://codeday.me/bug/20190823/1700472.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。