Есть ли способ, чтобы я мог отображать только текущую ссылку на страницу с помощью ссылки " Предыдущая ссылка", когда я нахожусь на первой странице и следующей >> ссылке скрытой, когда я на последней странице.
Он должен быть следующим
на первой странице: 1 | следующая >>
на последней странице (с 4 страниц): << предыдущая | 4
пример любой центральной страницы: << предыдущая | 3 | следующая >>
в настоящее время я получаю: << предыдущая | 1... 4 | следующая >>
Мой код
<%= will_paginate @blogs, :class=>"pagination_links",:page_links => true, :next_label => "<span>| </span>Next >>",:previous_label => "<< Previous<span> |</span>",:inner_window => 0, :outer_window => 0 %>
Сгенерированный html
<div class="pagination_links">
<span class="previous_page disabled">
<< Previous
<span> |</span>
</span>
<em class="current">1</em>
<span class="gap">…</span>
<a href="/blog?page=4">4</a>
<a class="next_page" href="/blog?page=2" rel="next">
<span>| </span>
Next >>
</a>
</div>
любое решение для этого?
Я достиг этого с помощью css
.current {
display: inline-block;
font-size: 12px;
text-decoration: none;
color: #000000;
}
.gap{
display : none !important;
}
.pagination_links a{
display:none;
}
.next_page,.previous_page{
display:inline-block !important;
color: #3343A0;
}
.pagination_links{
text-align: center;
}
.previous_page.disabled, .next_page.disabled{
display: none !important;
}
.pagination_links a{
text-decoration: none;
}
.pagination_links a:hover{
text-decoration: underline;
}
.pagination_links span{
text-decoration: none;
display: inline-block;
color: #000000;
}
Использование опций API по умолчанию в настоящее время невозможно, но will_paginate позволяет создавать собственные визуализаторы ссылок.
Для этого добавьте ключ рендеринга в свою функцию will_paginate и сообщите, какой именно рендерер использовать.
<%= will_paginate @pages, renderer: PaginationLinkRenderer, previous_label:"« Previous |", next_label:"| Next »" %>
и создайте файл либо в helpers/или lib/called pagination_link_renderer.rb
и добавьте следующее:
class PaginationLinkRenderer < WillPaginate::ActionView::LinkRenderer
protected
def page_number(page)
if page == current_page
page
end
end
def previous_or_next_page(page, text, classname)
if page
link(text, page, class: classname)
end
end
end