This is a SiteLog for Easun.org。
对于静态发布的MT来说,主页/分类页 的分页很不好实现。一直以来,要在主页展示更多页面的朋友们都是利用一个 插件PageArchives 来实现。对我来说,实现这个功能实在太繁琐了点,也就懒得折腾。
今天,在测试MT5的新主题( Rainier 1.04)的时候,居然发现可以分页了。
立即查看模板,发现可以原生分页,分页由 mt-seach.cgi 完成。呃,又是这个 cgi ,看来资源大户的名气又要响亮一点了。
我的模板是在一直 在 "Professional Blog" 上修改的。 不想再次重写模板了。 直接移植吧。
其实很简单,要实现分页,必须给 <mt:Entries> 加上 search_results 选项。
简单的从 主页 (index.html) 模板修改,记下流水帐吧。
打开模板,在最前面添加
<mt:Ignore>设定分页每页个数。 注释By路杨</mt:Ignore>
<$mt:Var name="entries_per_page" value="10"$>
<mt:Ignore>生成默认换页链接。 注释By路杨</mt:Ignore>
<mt:SetVarBlock name="search_link">
<$mt:CGIPath$><$mt:SearchScript$>?IncludeBlogs=<$mt:BlogID$>
&template_id=<$mt:BuildTemplateID$>
&limit=<$mt:Var name="entries_per_page"$>
&archive_type=Index
&page=
</mt:SetVarBlock>
<mt:Ignore>取消search_link里面的空行和前后的空白字符 。 注释By路杨</mt:Ignore>
<$mt:Var name="search_link" strip="" trim="1" encode_html="1" setvar="search_link"$>
找到:
<mt:Entries>
<$mt:Include module="Entry Summary"$>
</mt:Entries>
替换成:
<mt:Entries limit="$entries_per_page" search_results="1">
<$mt:Include module="Entry Summary"$>
</mt:Entries>
现在我们的模板已经具有换页的功能了。
在下面加上换页(上一页、下一页的选择)
代码如下:
<mt:SetVarBlock name="pagination_navigation">
<mt:If name="search_results">
<mt:IfMoreResults>
<li><a rel="prev" href="<$mt:NextLink encode_html="1"$>">Older entries</a></li>
</mt:IfMoreResults>
<mt:IfPreviousResults>
<li><a rel="next" href="<$mt:PreviousLink encode_html="1"$>">Newer entries</a></li>
</mt:IfPreviousResults>
<mt:Else>
<mt:If name="archive_template">
<$mt:ArchiveCount setvar="total_entries"$>
<mt:Else>
<$mt:BlogEntryCount setvar="total_entries"$>
</mt:If>
<mt:If name="total_entries" gt="$entries_per_page">
<li><a rel="prev" href="<$mt:Var name="search_link"$>2">Older entries</a></li>
</mt:If>
</mt:If>
</mt:SetVarBlock>
<mt:If name="pagination_navigation">
<$mt:Var name="pagination_navigation" strip_linefeeds="1" trim="1" setvar="pagination_navigation"$>
<nav class="pagination">
<ul>
<$mt:Var name="pagination_navigation"$>
</ul>
</nav>
</mt:If>
也就是Rainier默认模板的换页导航条。
现在保存模板并重建。 享受分页的快感吧 :)
当然,必要的前端美化还是必须的,这里不在说明。
详细示例,可以在本博客的主页试试~~ (本站代码有更多的前端美化。)