Forums / General / Sort by attribute trouble

Sort by attribute trouble

Author Message

Denis Zatsarinny

Wednesday 25 October 2006 9:46:37 am

Hi,

On few our sites used sorting by attribute like next

$items=fetch_alias(children, hash(parent_node_id, <some_node_id>, sort_by, array('attribute',false,'<class_name>/<some_attribute>'), ...)

<some_attribute> has type ezdate - its work fine on our sites with ez 3.7.6/3.7.9/3.8.3 - but not working on site with ez 3.8.4 !

I'm tried use array('attribute',false(),<attribute_id>) - but has same result.

Anybody can help me ?

Bye.

Kristof Coomans

Thursday 26 October 2006 1:24:57 am

Hello Denis

Have you enabled debug output, disabled template compile and content view cache?
Did you see any template errors then?

independent eZ Publish developer and service provider | http://blog.coomanskristof.be | http://ezpedia.org

Denis Zatsarinny

Thursday 26 October 2006 1:48:50 am

Hi,

Yes - I was enabled debug output - but not got any error

Sorting working - but working wrong

IMHO - this is may be bug in PHP code or in the SQL statement

Bye.

Claudia Kosny

Wednesday 01 November 2006 9:21:58 am

Hi Denis

Enable SQL output and check the query - does the sort parameter appear there? (It might be useful to surround the fetch with a {debug-timing-point id ="foo"} to find the relevant query easier).

If the sort parameter does not appear in the query try with another sort parameter (just by name or so). Also try without using an fetchalias. Any changes?

Greetings from Luxembourg

Claudia

Denis Zatsarinny

Wednesday 01 November 2006 12:03:31 pm

Hi

4 Claudia Kosny:

I gotta get first upgrade from 3.8.4 -> 3.8.6 - maybe its solve this problem

Bye.

Luc Chase

Sunday 30 September 2007 11:13:36 am

Same or similar prob in 3.9.3

Trying to use a sort array to display sticky news to top of list in fetch_alias. Seems that fetch_alias can't accept an array of arrays for the sort.

This does not work... Empty variable name error.

{set 
list_items=fetch_alias( children, hash( parent_node_id, $node.node_id,
           offset, $view_parameters.offset,
           sort_by, array ( array( attribute, false(), 'news/sticky' ), $node.sort_array),
           limit, $page_limit ) ) }

This also does not work...

{set 
list_items=fetch_alias( children, hash( parent_node_id, $node.node_id,
          offset, $view_parameters.offset,
          attribute_filter, $time_filter,
          sort_by, array ( array( attribute, false(), 'news/sticky' ),array( 'published', false() ) ),
          limit, $page_limit ) ) }

But, this works...

  {set list_items=fetch_alias( children,hash( 'parent_node_id', $node.node_id,
                                                             'offset', $view_parameters.offset,
                                                             'sort_by', array(array( attribute,false(),'news/sticky' ), array('attribute', false(), 'news/date')),  
                                                             'limit', $page_limit ) ) }

and this works...

{set 
list_items=fetch_alias( children, hash( parent_node_id, $node.node_id,
         offset, $view_parameters.offset,
         sort_by, array( attribute, false(), 'news/sticky' ) ,
         limit, $page_limit ) ) }

And this works...

{set 
list_items=fetch_alias( children, hash( parent_node_id, $node.node_id,
         offset, $view_parameters.offset,
         sort_by, $node.sort_array,
         limit, $page_limit ) ) }

The Web Application Service Provider