[Zope-dev] Weird batches produced by dtml-in
Bjorn Stabell
bjorn@exoweb.net
Tue, 11 Feb 2003 17:01:57 +0800
Hello,
I'm trying to implement a Google-like pagination using the dtml-in
"batching system", and I'm getting some very strange results. Either
I'm overlooking something obvious or there is a problem with dtml-in.
See attached source code of simplified example that produces the strange
results.
The first time I access the page the results are as follows:
0-9 10-19 20-29 30-39 40-49 50-59 60-69 70-79=20
If I click '10-19' it'll take me to batch_start=3D10, which gives the
following strange results:
0-8 10-19 19-28 29-38 39-48 49-58 59-68 69-78 79-79=20
I have no idea why the first batch is now 0-8 and the next batch is now
19-28. Shouldn't they be 0-9 and 20-29 like above?
I'm using Zope 2.6.1 precompiled Linux version.
-----------------------------
<dtml-let
batch=3D"_.range(100, 180)"
batch_size=3D"10"
batch_start=3D"REQUEST.get('batch_start', 0)">
<dtml-in batch start=3D"batch_start" size=3D"batch_size" overlap=3D"0">
&dtml-sequence-item;<br>
</dtml-in>
<dtml-in batch start=3D"batch_start" size=3D"batch_size" previous
overlap=3D"0">
<dtml-in previous-batches mapping>
<a href=3D"<dtml-var URL><dtml-var
sequence-query>batch_start=3D&dtml-batch-start-index;">
&dtml-batch-start-index;-&dtml-batch-end-index;
</a>
</dtml-in>
</dtml-in>
<STRONG>&dtml-batch_start;-<dtml-var "batch_size + _.int(batch_start) -
1"></STRONG>
<dtml-in batch start=3D"batch_start" size=3D"batch_size" next =
overlap=3D"0">
<dtml-in next-batches mapping>
<a href=3D"<dtml-var URL><dtml-var
sequence-query>batch_start=3D&dtml-batch-start-index;">
&dtml-batch-start-index;-&dtml-batch-end-index;
</a>
</dtml-in>
</dtml-in>
</dtml-let>