Hi Jonathan,

I have something similar to your idea already. The python script
supplies page number to a stored procedure which handles the actual
paging. The script takes the result from the proc and builds an html
table and handles column sorting on the table. The output of the script
is just a single variable so I can just use &dtml-var instead of the
flaky &dtml-in. 
Problem I have now is this new search interface makes use of full-text
searching on SQL Server 2K. The paging proc wasn't written to handle it
and will need to be rewritten from scratch. This will take a lot of time
and testing. I thought I could slap something simple and fast together
to use in the interim to allow people to start testing the search

I really do wish Zope would either fix or eliminate broken features. At
the very least have the curtesy to say "hey y'all, this is broke, don't
bother" so folks don't waste time with it. 


-----Original Message-----
From: Jonathan [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, May 30, 2007 5:22 PM
To: Programmer; zope@zope.org
Subject: Re: [Zope] a batch of inSaNitY!

----- Original Message -----
From: "Programmer" <[EMAIL PROTECTED]>
To: <zope@zope.org>
Sent: Wednesday, May 30, 2007 4:44 PM
Subject: [Zope] a batch of inSaNitY!

> Hi
> I am about to go stark, raving, frothing mad with the DTML-IN
> Is there a known (or unknown) bug with this?
> I have searched and read everything I can find about this and no luck.
> The problem is with carrying the query terms over from one batch page
> the next. Right now I am using the script found here:
> ml
> Except I changed,
> <dtml-let
>  batch="_.range(100, 180)"
>  batch_size="10"
>  batch_start="REQUEST.get('batch_start',1)">
> To
> <dtml-let
>  batch="myZSQLMethod1"
>  batch_size="10"
>  batch_start="REQUEST.get('batch_start',1)">
> The mySQLMethod1 takes two params which the search form supplies to
> REQUEST. This works great. The pagination works beautifully. However,
> when I use the very same result script with myZSQLMethod2 (same DB
> table), which takes 5 params (all optional) the pagination breaks and
> no-longer passes the query terms.
> I have checked and rechecked both scripts and both forms. The
> ZSQLMethods both test good. I am out of ideas. For the life of me I
> cannot figure out why I'm losing my query terms in one and not the
> when the two are almost identical.
> Care to enlighten me with your collective wisdom?

In similar situations I have done the following:

1) call a python script/external method which: (i) does the db search;
formats the results as required for display; (iii) returns a tuple that 
contains: list of search results, url parameters for 'previous' link;
parameters for 'next' link; url parameters for 'first link'; url
for 'last' link

2) use a dtml method to call the script/ext.method like

<dtml-let rStat="mySearchRoutine(parm1, parm1, ...)">

  <dtml-in "rStat[0]">
      display code here eg.  <dtml-var sequence-item><br>
      or could be an html/css table, etc.

     <dtml-if sequence-end>
         <a href="...?<dtml-var "rStat[1]">">previous</a>
         <a href="...?<dtml-var "rStat[2]">">next</a>
         <a href="...?<dtml-var "rStat[3]">">first</a>
         <a href="...?<dtml-var "rStat[4]">">last</a>


This greatly simplifies the dtml and facilitates debugging and future 



Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to