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
76
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
<%def name="paginate(url, count, page_cur, page_max, _more=None, _last=False, **args)">
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
    <%doc>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
        Pagination works using page numbers, with a specific number of maximum pages displayed. If _more is True,
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
        then instead of a "Next" button, we have a "More" button, which goes to the max+1'th page, unless _last is
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
        True, whereupon it's not displayed
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
    </%doc>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
    <div class="paginate">
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
        <ul>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
            <li>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
            % if page_cur > 1 :
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
                <a href="${h.build_url(url, count=count, page=page_cur-1, max=max, **args)}">&laquo; Prev</a>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
            % else :
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
                <span>&laquo; Prev</span>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
            %endif
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
            </li>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
        % for page in xrange(1, page_max + 1) :
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
            <li>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
            % if page == page_cur :
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
                <strong>${page}</strong>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
            % else :
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
                <a href="${h.build_url(url, count=count, page=page, max=page_max, **args)}">${page}</a>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
            % endif
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
            </li>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
        % endfor
79
43ac75054d5c image formatting \o/
Tero Marttila <terom@fixme.fi>
parents: 76
diff changeset
    25
        % if _more and not _last :
43ac75054d5c image formatting \o/
Tero Marttila <terom@fixme.fi>
parents: 76
diff changeset
    26
            <li>&hellip;</li>
43ac75054d5c image formatting \o/
Tero Marttila <terom@fixme.fi>
parents: 76
diff changeset
    27
        % endif
76
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
            <li>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
            % if _more and _last :
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
                <span>More &raquo;</span>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31
            % elif _more : 
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
                <a href="${h.build_url(url, count=count, page=page_max+1, **args)}">More &raquo;</a>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    33
            % elif page_cur == page_max : ## last page
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    34
                <span>Next &raquo;</span>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    35
            % else : 
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    36
                <a href="${h.build_url(url, count=count, page=page_cur+1, **args)}">Next &raquo;</a>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    37
            % endif
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    38
            </li>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    39
        </ul>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    40
    </div>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    41
</%def>
cc3ab2c39ded fix off-by-one with search paginate, and implement basic pagination for channel_date
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    42