The Framework Code

twigs/framework/util/paginate.twig

File List

    {% import '@content/iconmacro.twig' as i %}
    {% set pages = pages|round(0, 'floor') %}
    {% if pages >= 2 %}
	{% if page > pages %}
	    {% set page = pages %}
	{% elseif page < 1 %}
	    {% set page = 1 %}
	{% endif %}
    {% if extra is defined %}
        {% set extra = '&' ~ extra %}
    {% endif %}
	<nav aria-label="{{arialabel is defined ? arialabel : 'Paginator'}}">
	    <ul class="pagination">
		{% if page > 1 %}
                    <li class="page-item"><a href="{{url}}?page=1&amp;pagesize={{pagesize}}{{extra}}" class="page-link" title="Page 1" aria-label="Page 1">{{i.fastbwd()}}<span class="sr-only">Page 1</span></i></a></li>
		    <li class="page-item"><a href="{{url}}?page={{page-1}}&amp;pagesize={{pagesize}}{{extra}}" class="page-link" title="Prev"  aria-label="Previous">{{i.backward()}}</i><span class="sr-only">Previous</span></a></li>
		{% else %}
		    <li class="disabled page-item"><a class="noclick page-link" aria-label="Page 1">{{i.fastbwd()}}<span class="sr-only">Page 1</span></a></li>
		    <li class="disabled page-item"><a class="noclick page-link" aria-label="Previous">{{i.backward()}}<span class="sr-only">Previous</span></a></li>
		{% endif %}
                {% set start = page - 2 %}
                {% set end = page + 2 %}
                {% if end > pages %}
                    {% set end = pages %}
                    {% set start = end - 4 %}
                {% endif %}
                {% if start < 1 %}
                    {% set start = 1 %}
                    {% set end = pages > 5 ? 5 : pages %}
                {% endif %}
                {% if start != 1 %}
                    <li class="disabled page-item"><a class="noclick page-link">&hellip;</a></li>
                {% endif %}
		{% for val in start..end %}
                    {%if val == page %}
                        <li class="disabled page-item"><a class="noclick page-link" aria-label="Page {{val}}">{{val}}</a></li>
                    {% else %}
                        <li class="page-item"><a href="{{url}}?page={{val}}&amp;pagesize={{pagesize}}{{extra}}" class="page-link" title="Page {{val}}" aria-label="Page {{val}}">{{val}}</a></li>
                    {% endif %}
		{% endfor %}
                {% if end != pages %}
                    <li class="disabled page-item"><a class="noclick page-link">&hellip;</a></li>
                {% endif %}
		{% if page < pages %}
		    <li class="page-item"><a href="{{url}}?page={{page+1}}&amp;pagesize={{pagesize}}{{extra}}" class="page-link" title="Next" aria-label="Next">{{i.forward()}}<span class="sr-only">Next</span></a></li>
                    <li class="page-item"><a href="{{url}}?page={{pages}}&amp;pagesize={{pagesize}}{{extra}}" class="page-link" title="Page {{pages}}" aria-label="Page {{pages}}">{{i.fastfwd()}}<span class="sr-only">Page {{pages}}</span></a></li>
		{% else %}
		    <li class="disabled page-item"><a  class="noclick page-link" title="Next" aria-label="Next">{{i.forward()}}<span class="sr-only">Next</span></a></li>
		    <li class="disabled page-item"><a  class="noclick page-link" title="Page {{pages}}" aria-label="Page {{pages}}">{{i.fastfwd()}}<span class="sr-only">Page {{pages}}</span></a></li>
		{% endif %}
	    </ul>
	</nav>
    {% endif %}