[Zope] simplePager
   
    Lee Harr
     
    missive@hotmail.com
       
    Thu, 29 Aug 2002 13:11:01 +0000
    
    
  
I wanted something to split up long lists of items into shorter
lists and make links to the pages (kind of like the page numbers
on a google search)
I saw in the docs that dtml provides this... but I could not get
that to work. It never found the batch-start-index inside of the
previous-batches
Anyhow, i found a script in the zope cookbook, but it was two
pages long and it was way more than i needed. So I made this:
#simplePager
# paramenters:
#  seq=None, page=0, size=10
#
req = context.REQUEST
url = req.URL
if req.has_key('start'):
  start = getattr(req, 'start')
else:
  start = 0
starts = range(1, len(seq)+1, size)
p = 1
for s in starts:
  print '<a href="%s?start=%s">%s</a>' % (url, s, p)
  p += 1
return printed
It works in conjunction with the dtml sequence stuff as shown
in the help pages... like this:
      <dtml-in list_thumbnails size=10 start=start previous>
        <a 
href="&dtml-absolute_url;&dtml-sequence-query;start=&dtml-previous-sequence-start-number;">Previous 
Page</a>
      </dtml-in>
where list_thumbnails happens to be another script which just returns a list
of objects (thumbnail images in this case). You might use objectValues there
instead...
_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com