[英]Jump to the midde with Kaminari pagination
假设我有30页与Kaminari分页:
#800 books, 25 per page
=paginate @books, :outer_window => 3, :window => 3
它看起来像这样:
1 2 3 4 ... 30 31 32
没有点击5次就无法进入第16页。
(*当前页面,[] =点击)
到达堆栈中间似乎需要做很多工作。
1 2 3 4 ... 15 16 17 ... 30 31 32
您可以使用内部和外部窗口选项( 链接 ),但我认为这不会解决您的问题。
正如@Michal Szyndel的评论所提到的,你需要使用生成器( rails g kaminari:views THEME
note:你可以传递-e来生成不同的模板语言)。 生成文件后,您可以使用一些自定义逻辑编辑“paginator”部分。 关于如何做到这一点的介绍观看Ryan的railscast (从4:53开始)
希望这能让你足够远,因为当你不在分页的开头或结尾时,中间窗口的工作方式取决于你的窗口大小和你想要的东西。 (例如,如果你有一个3的外窗口和2个50页的内窗口,当你在第15页时,这个分页器链接应该是什么样子?)
如果您需要更多帮助,请回复评论,我会更具体地回答。
扩展kaminari视图元素非常简单。 您需要自定义分页助手, https://github.com/amatsuda/kaminari#customizing-the-pagination-helper
具体来说,假设您正在使用ERB,您将需要编辑新的app/views/kaminari/_gap.html.erb
文件。
<%
url,data = url.split('?')
url += '?page=' + (num_pages/2)
%>
<span class="page gap">
<%= link_to_unless page.current?, page, url %>
</span>
这会创建一个指向中间(真正的num_pages/2
-th)页面的链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.