[Zope] sort based on a variable

D. Rick Anderson ruger@comnett.net
Mon, 17 Mar 2003 14:15:14 -0800

Try this:

<dtml-call "REQUEST.set('t_sort_order',sort_order)">
<dtml-in "sql_list_rma(_.None, _, sort=t_sort_order)">
 render results


Michael Guerrero wrote:

> I have a table tab1 with 3 columns col1,co2,col3.
> I've defined a sql method 'get_list' as 'select col1,co2,col3 from tab1.
> In a dtml method (view_list)I want call get_list and sort on any of 
> the three columns.  I know I can do the following:
> <dtml-in get_list sort="col2">
>    display stuff here
> </dtml-in>
> I'm passing the sort order column to view_list using -->  view_list?sort_order=col2
> I get no error but incorrect results when I try to do the following in 
> view_list:
> <dtml-call "REQUEST.set('t_sort_order',sort_order)">
> <dtml-in sql_list_rma sort=t_sort_order>
> I also tried putting various combinations of single and double quotes 
> around t_sort_order' without any luck.
> I can display t_sort_order, so I know it's getting the proper value.  
> It just doesn't evaluate correctly.  I think it has something with 
> double-quotes needing to surround the sort filename.
> I really don't want to create 3 sql methods 
> (get_list_by_col1,get_list_by_col2,get_list_by_col3).
> I'd appreciate any help.
> Thanks.
> Mike Guerrero