我正在使用Rails 3插件Will_Paginate并使用以下教程来学习如何自定义分页链接:
我的问题是,如何使分页链接更像GMAIL,例如:
1 - 100 of 25409 Old> Oldest»
«最新<25401 - 25409,25409
由于
答案 0 :(得分:3)
看起来该链接(几乎)所有您需要的信息。
“较旧”基本上是“下一页”,因此您可以覆盖渲染器中的next_page
方法。
“最古老的”是“最后一页”;你需要添加一个方法,然后确保它包含在你的pagination
方法返回的数组中(will_paginate中内置的total_pages
方法将在这里提供帮助。)
然后对Newer / Newest进行反向。
查看link_renderer.rb和link_renderer_base.rb个文件。他们有你将要覆盖的方法。
我写了一个自定义的will_paginate 3渲染器来模仿GitHub / Twitter风格的“更多”分页。我已经注释了下面的代码。它不会让你到达你需要去的地方,但它是一个开始。
module TwitterPagination
class LinkRenderer < WillPaginate::ViewHelpers::LinkRenderer
protected
# Tells WP how to render the "Next Page" link
def next_page
# The only difference from the default here is we renamed the link to "More"
# and added a custom class, twitter_pagination
previous_or_next_page(@collection.next_page, "More", 'twitter_pagination') if @collection.next_page
end
# Remove all links except our :next_page
def pagination
[ :next_page ]
end
end
end
通过阅读我上面链接的两个源文件,可以弄清楚为了做到这一点我需要知道的一切。
我真的很惊讶这是多么容易做到; will_paginate的最新设计在这个领域非常出色。
答案 1 :(得分:0)
尝试类似
的内容<%= will_paginate @items, :class => 'apple_pagination' %>
类也可以是digg_pagination,.flickr_pagination。
在此之前,您需要download并将pagination.css复制到您的公开/样式表。