分页代码是写在pages里面的,并可以自定义对应的文字
<!-- pagelist --> <cms:if k_paginated_bottom> <div class="uk-width-1-1 pagelist"> <cms:paginator prev_text='上一页' next_text='下一页' /> </div> </cms:if>
页面、搜索和评论标签可以提取比 limit 参数设置的项目多得多的项目。
在这种情况下,通常以分页方式显示项目,即分页到多个页面中,并提供导航按钮来访问页面。
除了设置用于描述正在循环访问的当前项的变量外,这些标记还设置了多个变量,这些变量提供有关标记循环的当前状态的信息。其中许多变量可用于以分页方式显示提取的项目。
为了解释这些变量,我们将使用以下代码片段 -
<cms:pages masterpage='blog.php' limit='10' paginate='1'>
<!-- All the variables can be accessed here -->
</cms:pages>
虽然我们使用的是 [__*pages*__](../../tags-reference/pages.html) 标记来解释分页,请记住,以下讨论同样适用于 [__*search*__](../../tags-reference/search.html) 和 [__*comments*__](../../tags-reference/comments.html) 标记。
假设给定代码段总共提取了 23 条记录。
由于限制已设置为 10,因此将总数拆分为 10 条记录的块将导致需要 3 页来显示所有记录。
当标签遍历每个提取的项目时,将设置以下变量 -
k_total_records
获取的记录总数 - 在我们的示例中为 23 条
k_count
每页上的范围从 1 到 10。因此,它指向当前记录在页面上的相对位置。
可以通过设置“startcount”参数进行更改。
因此,如果“startcount”设置为 0,则每页上k_count范围为 0-9。
k_record_from
页面上的第一条记录。因此,第 1 页为 1,第 11 页为 2,第 21 页为 3。
可以通过设置“startcount”参数进行更改。
因此,如果“startcount”设置为 0,则第 0 页的 k_record_from 将为 1,第 10 页为 2,第 20 页为 3。
k_current_record
第 1 页的范围为 10-1,第 11 页的范围为 20-2,第 21 页的范围为 23-3。
因此,它始终指向当前记录的绝对位置。
可以通过设置“startcount”参数进行更改。
因此,如果“startcount”设置为 0,则第 0 页的 k_current_record 范围为 9-1,第 10 页的范围为 19-2,第 20 页的范围为 22 到 3。
k_record_to
页面上的最后一条记录。因此,第 10 页为 1,第 20 页为 2,第 23 页为 3。
可以通过设置“startcount”参数进行更改。
因此,如果“startcount”设置为 0,则第 9 页的 k_record_to 将为 1,第 19 页为 2,第 22 页为 3。
k_total_pages
总页数 - 在我们的示例中为 3 页。
k_current_page
当前页码 - 在我们的示例中将从 1 更改为 3。
k_paginated_top
在我们的示例中,“Pages”标记循环遍历每个页面上的 10 条记录。
k_paginated_top设置为每页的第一条记录。
它可用于在循环开始时输出某些内容。
k_paginated_bottom
在我们的示例中,“Pages”标记循环遍历每个页面上的 10 条记录。
k_paginated_bottom设置为每页的最后一条记录。
它可用于在循环的最末端输出一些东西。
k_paginator_required
当提取的页面总数超过“limit”参数设置的最大值
(并且还设置了“paginate”参数)时,提取的页面集将拆分到多个页面,并
设置k_paginator_required以指示这一点。
它可用于确定何时显示仅在这种情况下才有意义的文本,
例如“下一个”和“转发”链接或“第 1 页,共 3 页”。
k_paginate_link_next
链接到下一页(如果有)
k_paginate_link_prev
链接到上一页(如果有)
例子:
<cms:pages masterpage='blog.php' limit='10' paginate='1'>
<cms:if k_paginated_top>
<cms:if k_paginator_required >
Page <cms:show k_current_page /> of <cms:show k_total_pages /><br>
</cms:if>
<cms:show k_total_records /> Pages Found.
Displaying: <cms:show k_record_from />-<cms:show k_record_to />
</cms:if>
<!-- All the page variables can be accessed here -->
<cms:if k_paginated_bottom >
<cms:if k_paginate_link_prev >
<a href="<cms:show k_paginate_link_prev />">prev</a>
</cms:if>
<cms:if k_paginate_link_next >
<a href="<cms:show k_paginate_link_next />">next</a>
</cms:if>
</cms:if>
</cms:pages>
无需手动编码“下一个”和“上一个”按钮来浏览页面,而是可以使用分页器标记 -
<cms:pages masterpage='blog.php' limit='10' paginate='1'>
<cms:if k_paginated_top>
<cms:if k_paginator_required >
Page <cms:show k_current_page /> of <cms:show k_total_pages /><br>
</cms:if>
<cms:show k_total_records /> Pages Found.
Displaying: <cms:show k_record_from />-<cms:show k_record_to />
</cms:if>
<!-- All the page variables can be accessed here -->
<cms:paginator />
</cms:pages>
如果使用分页器标记来生成导航按钮,则可以使用以下 CSS 代码来正确设置按钮样式 -
/*
Paginator -
Source: http://www.strangerstudios.com/sandbox/pagination/diggstyle.php (strangerstudios.com)
*/
div.pagination {
padding: 3px;
margin: 3px;
}
div.pagination a {
padding: 2px 5px 2px 5px;
margin: 2px;
border: 1px solid #AAAADD;
zoom: 100%;
text-decoration: none; /* no underline */
color: #000099;
}
div.pagination a:hover, div.pagination a:active {
border: 1px solid #000099;
color: #000;
}
div.pagination span.page_current {
padding: 2px 5px 2px 5px;
margin: 2px;
border: 1px solid #000099;
* zoom: 100%;
font-weight: bold;
background-color: #000099;
color: #FFF;
}
div.pagination span.page_disabled {
padding: 2px 5px 2px 5px;
margin: 2px;
border: 1px solid #EEE;
* zoom: 100%;
color: #DDD;
}
* span.elipsis {zoom:100%}
以下是分页器标记的示例输出