C
Costa Nicolaou
Hey,
I've been looking to override the default protocol provided with
will_paginate.
Is there a chance anyone knows how to do that?
I tried doing so using this helper but it never works since url_for is
accepting a string (page)
-------------------------------
class PaginationListLinkRenderer < WillPaginate::LinkRenderer
def to_html
links = @options[age_links] ? windowed_links : []
links.unshift(page_link_or_span(@collection.previous_page,
'previous', @options[revious_label]))
links.push(page_link_or_span(@collection.next_page, 'next',
@options[:next_label]))
html = links.join(@options[:separator])
@options[:container] ? @template.content_tagdiv, html,
html_attributes) : html
end
protected
def windowed_links
visible_page_numbers.map { |n| page_link_or_span(n, (n ==
current_page ? 'current' : nil)) }
end
def page_link_or_span(page, span_class, text = nil)
text ||= page.to_s
if page && page != current_page
page_link(page, text, :class => span_class)
else
page_span(page, text, :class => span_class)
end
end
def page_link(page, text, attributes = {})
@template.content_tagspan, @template.link_to(text, url_for(page)),
attributes)
end
def page_span(page, text, attributes = {})
@template.content_tagspan, text, attributes)
end
end
I've been looking to override the default protocol provided with
will_paginate.
Is there a chance anyone knows how to do that?
I tried doing so using this helper but it never works since url_for is
accepting a string (page)
-------------------------------
class PaginationListLinkRenderer < WillPaginate::LinkRenderer
def to_html
links = @options[age_links] ? windowed_links : []
links.unshift(page_link_or_span(@collection.previous_page,
'previous', @options[revious_label]))
links.push(page_link_or_span(@collection.next_page, 'next',
@options[:next_label]))
html = links.join(@options[:separator])
@options[:container] ? @template.content_tagdiv, html,
html_attributes) : html
end
protected
def windowed_links
visible_page_numbers.map { |n| page_link_or_span(n, (n ==
current_page ? 'current' : nil)) }
end
def page_link_or_span(page, span_class, text = nil)
text ||= page.to_s
if page && page != current_page
page_link(page, text, :class => span_class)
else
page_span(page, text, :class => span_class)
end
end
def page_link(page, text, attributes = {})
@template.content_tagspan, @template.link_to(text, url_for(page)),
attributes)
end
def page_span(page, text, attributes = {})
@template.content_tagspan, text, attributes)
end
end