Sorting through a Collection

Author Message

Matthew Rat

Thursday 05 June 2003 10:01:58 am

Because fetch only supports a limited number of ways to sort or filter, is there a way to take an already-fetched collection and sort them?

Take this example:
I have an event class that is similar to an appointment object in Outlook in that there is a title, location, body, startdatetime, and stopdatetime. I would like to fetch the events in a folder and then sort them by the startdatetime. I am unsure (if I can) how to reorder a collection so that upcoming events are displayed in the correct (chronological) order.

Thanks in advance for your assistance!

Paul Borgermans

Saturday 07 June 2003 5:28:08 am

Facing the same problem, I think the most general route is to create a new template operator which works on the array of objects from the fetch result. Requires a bit of php coding, but the wizards in 3.1beta may help already much.

Maybe an easier way is to use the startdate in the object name pattern in a cleaver way (eq put it first with <start_date>). In your line/full display template override, don't use the objects name attribute for display but only for the sort_by in the fetch function.

Paul

eZ Publish, eZ Find, Solr expert consulting and training
http://twitter.com/paulborgermans

Ben Pirt

Tuesday 22 July 2003 3:33:19 am

Think i'll have to resurrect this thread.
I am facing the same problem in that I have a set of projects which need sorting by date, but I can't use the date as the name as I would like to use that name as the URL with the 'nice URL' method.

I notice that v.3.2 has attribute sorting, is this what I am looking for?

Paul Borgermans

Tuesday 22 July 2003 4:40:47 am

>I notice that v.3.2 has attribute sorting, is this what I
>am looking for?

Yes, take a look at the documentation on it:

http://ez.no/developer/ez_publish_3/documentation/development/libraries/ez_template/operators/data_fetch

-paul

eZ Publish, eZ Find, Solr expert consulting and training
http://twitter.com/paulborgermans

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 11:06:21
Script start
Timing: Jan 18 2025 11:06:21
Module start 'layout'
Timing: Jan 18 2025 11:06:21
Module start 'content'
Timing: Jan 18 2025 11:06:21
Module end 'content'
Timing: Jan 18 2025 11:06:21
Script end

Main resources:

Total runtime0.0170 sec
Peak memory usage2,048.0000 KB
Database Queries3

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0060 587.9141152.6250
Module start 'layout' 0.00600.0039 740.539139.4453
Module start 'content' 0.00990.0048 779.984493.3203
Module end 'content' 0.01470.0023 873.304734.3047
Script end 0.0170  907.6094 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.002514.7911140.0002
Check MTime0.00127.1505140.0001
Mysql Total
Database connection0.00137.625210.0013
Mysqli_queries0.003621.046730.0012
Looping result0.00000.082610.0000
Template Total0.001911.310.0019
Template load0.00116.268210.0011
Template processing0.00084.986810.0008
Override
Cache load0.00074.253010.0007
General
dbfile0.00021.410280.0000
String conversion0.00000.053240.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs