Forums / Setup & design / Sorting through a Collection

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

eZ debug

Timing: Jan 18 2025 04:25:35
Script start
Timing: Jan 18 2025 04:25:35
Module start 'content'
Timing: Jan 18 2025 04:25:35
Module end 'content'
Timing: Jan 18 2025 04:25:35
Script end

Main resources:

Total runtime0.2266 sec
Peak memory usage2,048.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0080 587.7109180.8359
Module start 'content' 0.00800.0055 768.546997.8672
Module end 'content' 0.01350.2130 866.4141526.2734
Script end 0.2265  1,392.6875 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00351.5277200.0002
Check MTime0.00140.6180200.0001
Mysql Total
Database connection0.00070.328010.0007
Mysqli_queries0.178778.86851410.0013
Looping result0.00140.63031390.0000
Template Total0.212693.810.2126
Template load0.00100.436010.0010
Template processing0.211693.388710.2116
Override
Cache load0.00060.278510.0006
Sytem overhead
Fetch class attribute can translate value0.00090.376110.0009
XML
Image XML parsing0.00030.151410.0003
General
dbfile0.00170.7337200.0001
String conversion0.00000.004030.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/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