templates/inc_paginate.tmpl
author Tero Marttila <terom@fixme.fi>
Wed, 11 Feb 2009 03:32:21 +0200
changeset 98 8c6e36849f9a
parent 79 43ac75054d5c
child 107 67f48e288102
permissions -rw-r--r--
implement tempfile use for scripts/search-index autoload, so that it can resume aborted sessions
<%def name="paginate(url, count, page_cur, page_max, _more=None, _last=False, **args)">
    <%doc>
        Pagination works using page numbers, with a specific number of maximum pages displayed. If _more is True,
        then instead of a "Next" button, we have a "More" button, which goes to the max+1'th page, unless _last is
        True, whereupon it's not displayed
    </%doc>
    <div class="paginate">
        <ul>
            <li>
            % if page_cur > 1 :
                <a href="${h.build_url(url, count=count, page=page_cur-1, max=max, **args)}">&laquo; Prev</a>
            % else :
                <span>&laquo; Prev</span>
            %endif
            </li>
        % for page in xrange(1, page_max + 1) :
            <li>
            % if page == page_cur :
                <strong>${page}</strong>
            % else :
                <a href="${h.build_url(url, count=count, page=page, max=page_max, **args)}">${page}</a>
            % endif
            </li>
        % endfor
        % if _more and not _last :
            <li>&hellip;</li>
        % endif
            <li>
            % if _more and _last :
                <span>More &raquo;</span>
            % elif _more : 
                <a href="${h.build_url(url, count=count, page=page_max+1, **args)}">More &raquo;</a>
            % elif page_cur == page_max : ## last page
                <span>Next &raquo;</span>
            % else : 
                <a href="${h.build_url(url, count=count, page=page_cur+1, **args)}">Next &raquo;</a>
            % endif
            </li>
        </ul>
    </div>
</%def>