Hi,

Here is the code to let the user choose the amount of products
displayed per page.
I created a pagemiddleware.py module and added it to the
MIDDLEWARE_CLASSES in settings.py
I have this very simple class in pagemiddleware.py
"""
class PageMiddleware(object):
    def process_request(self, request):
        if not request.REQUEST.get('itemperpage', False):
            if not request.session.get('itemperpage', False):
                request.session['itemperpage'] = 15
        else:
            try:
                request.session['itemperpage'] =
int(request.REQUEST['itemperpage'])
            except (KeyError, ValueError, TypeError):
                request.session['itemperpage'] = 15
        return None
"""

After this change the search.html template
"""
{% with results.products as products %}
<div class="item-per-page">
        Items found: {{ products|length }}
        <strong>Show: </strong>
        <a href="?itemperpage=15&{{ request.META.QUERY_STRING }}"> 15 </a>
&rsaquo;&rsaquo;
        <a href="?itemperpage=30&{{ request.META.QUERY_STRING }}"> 30 </a>
&rsaquo;&rsaquo;
        <a href="?itemperpage=60&{{ request.META.QUERY_STRING }}"> 60 </a>
items per page.
        <br class="clear-both" />
</div>
        {% autopaginate products request.session.itemperpage %}
                <ul>
                {% for product in products %}
                / more code here /
                {% endfor %}
                </ul>
                <br />
    {% paginate %}
{% endwith %}
"""

I put the middleware into the pagination app.

lzantal


On Jul 27, 1:12 pm, RT <[email protected]> wrote:
> That sounds really useful, I'll look forward to it!
>
> On Jul 27, 12:38 pm, lzantal <[email protected]> wrote:
>
> > Hi,
>
> > Glad to hear that.:)
> > I'll be home tonight and will add the code that let the user set
> > quantity/page,
> > It also displays the Items Found.
>
> > lzantal
>
> > On Jul 27, 9:48 am, RT <[email protected]> wrote:
>
> > > Thanks Izantal, that works great!
>
> > > -RT
>
> > > On Jul 26, 9:48 pm, lzantal <[email protected]> wrote:
>
> > > > Hi,
>
> > > > On Jul 26, 10:01 am, RT <[email protected]> wrote:
>
> > > > > I know this has been discussed before but it seems like it has been
> > > > > awhile.  What is the status of pagination (say of search) in Satchmo.
> > > > > Is it easy functionality to attain?
>
> > > > Yes it is. I'll dig up the code tomorrow to let the user select how
> > > > many product they want to display on the page Eg: Show 15, 30, 60.
> > > > I am using the pagination app  
> > > > http://code.google.com/p/django-pagination/
> > > > .
> > > > Once you install it here is the pagination specific code from my shop/
> > > > search.html template
> > > > """
> > > > {% load pagination_tags %}
> > > > {% with results.products as products %}
> > > > {% autopaginate products %}
> > > >                 <ul>
> > > >                 {% for product in products %}
> > > >                 / more code here /
> > > >                 {% endfor %}
> > > >                 </ul>
> > > >                 <br />
> > > >     {% paginate %}
> > > > {% endwith %}
>
> > > > Hope it helps
>
> > > > lzantal
>
> > > > > -RT

-- 
You received this message because you are subscribed to the Google Groups 
"Satchmo users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/satchmo-users?hl=en.

Reply via email to