Last active
August 29, 2015 14:16
-
-
Save VincentLoy/41cf27ba4102a3cc9aa7 to your computer and use it in GitHub Desktop.
Foundation 5 Sliding pagination control implementation for KnpPaginationBundle for Symfony 2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{# | |
/** | |
* @file | |
* Foundation 5 Sliding pagination control implementation. | |
* | |
* View that can be used with the pagination module | |
* from the Foundation 5 CSS Toolkit | |
* http://foundation.zurb.com/docs/components/pagination.html | |
* is made to work with knppaginationbundle for symfony 2 | |
* http://knpbundles.com/KnpLabs/KnpPaginatorBundle | |
* | |
* @author Vincent Loy <[email protected]> | |
* | |
* This view have been ported from twitter bootstrap v3 pagination control implementation | |
* from : | |
* @author Pablo Díez <[email protected]> | |
* @author Jan Sorgalla <[email protected]> | |
* @author Artem Ponomarenko <[email protected]> | |
* @author Artem Zabelin <[email protected]> | |
*/ | |
#} | |
{% if pageCount > 1 %} | |
<ul class="pagination"> | |
{% if previous is defined %} | |
<li class="arrow"> | |
<a href="{{ path(route, query|merge({(pageParameterName): previous})) }}">« {{ 'Previous'|trans }}</a> | |
</li> | |
{% else %} | |
<li class="arrow unavailable"> | |
<a> | |
« {{ 'Previous'|trans }} | |
</a> | |
</li> | |
{% endif %} | |
{% if startPage > 1 %} | |
<li> | |
<a href="{{ path(route, query|merge({(pageParameterName): 1})) }}">1</a> | |
</li> | |
{% if startPage == 3 %} | |
<li> | |
<a href="{{ path(route, query|merge({(pageParameterName): 2})) }}">2</a> | |
</li> | |
{% elseif startPage != 2 %} | |
<li class="unavailable"> | |
<a>…</a> | |
</li> | |
{% endif %} | |
{% endif %} | |
{% for page in pagesInRange %} | |
{% if page != current %} | |
<li> | |
<a href="{{ path(route, query|merge({(pageParameterName): page})) }}"> | |
{{ page }} | |
</a> | |
</li> | |
{% else %} | |
<li class="current"> | |
<a>{{ page }}</a> | |
</li> | |
{% endif %} | |
{% endfor %} | |
{% if pageCount > endPage %} | |
{% if pageCount > (endPage + 1) %} | |
{% if pageCount > (endPage + 2) %} | |
<li class="unavailable"> | |
<a>…</a> | |
</li> | |
{% else %} | |
<li> | |
<a href="{{ path(route, query|merge({(pageParameterName): (pageCount - 1)})) }}"> | |
{{ pageCount -1 }} | |
</a> | |
</li> | |
{% endif %} | |
{% endif %} | |
<li> | |
<a href="{{ path(route, query|merge({(pageParameterName): pageCount})) }}">{{ pageCount }}</a> | |
</li> | |
{% endif %} | |
{% if next is defined %} | |
<li class="arrow"> | |
<a href="{{ path(route, query|merge({(pageParameterName): next})) }}"> | |
{{ 'Next'|trans }} » | |
</a> | |
</li> | |
{% else %} | |
<li class="arrow unavailable"> | |
<a> | |
{{ 'Next'|trans }} » | |
</a> | |
</li> | |
{% endif %} | |
</ul> | |
{% endif %} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment