Forums / Developer / Grouping by an attribute

Grouping by an attribute

Author Message

Pablo C. Vergara Castro

Tuesday 14 September 2004 6:26:29 am

Hi to all.

I would like to know the way to make fetch that simply return objects grouped by a certain attribute. For example, I have several objects of a class "publication" that have an attribute "date", and what I want it is to know the way to extract the dates that are different and in addition to solely be able to count them.

{... 1999 ...},{... 2000 ...},{... 1999 ...},{... 2001 ...},{... 2000 ...} ===> {1999},{2000},{2001}, (3 attributes)

Sven Anderson

Wednesday 15 September 2004 3:20:25 am

If it's an existing arry, have a look here:
http://www.ez.no/community/forum/developer/sorting_an_array

If you get your array by the fetch functions, have a look here:
http://www.ez.no/ez_publish/documentation/development/libraries/ez_template/operators/data_fetch

hoping this helps,

greets,
Sven

Pablo C. Vergara Castro

Wednesday 15 September 2004 3:46:52 am

Thanks Sven but

a) The first link is really too old and the only answer that it gives is that ez can't sort.

b) I know the steps to sort data using fetch function but I don't want to sort, the think I want to do is Grouping by.

Sort:

{... 1999 ...},{... 2000 ...},{... 1999 ...},{... 2001 ...},{... 2000 ...} ===>{... 1999 ...},{... 1999 ...},{... 2000 ...},{... 2000 ...},{... 2001 ...}

Group:

{... 1999 ...},{... 2000 ...},{... 1999 ...},{... 2001 ...},{... 2000 ...} ===> {1999},{2000},{2001}

I begin to think that at the moment ezpublish cannot group data :_(.

Ekkehard Dörre

Wednesday 15 September 2004 5:28:36 pm

in 3.3 blog template archive_navigatorbar.tpl there is a "group_by":

{let show_week=false()
     item_node_id=50
     month_list=fetch( content, tree, hash( parent_node_id, $item_node_id,
                                            class_filter_type, include,
                                            class_filter_array, array( 'log' ),
                                            attribute_filter, array( and, array( 'published', '>=',
                                                                                  maketime( 0, 0, 0, $today_info.month, 1, $today_info.year ) ),
                                                                          array( 'published', '<=',
                                                                                  maketime( 23, 59, 59, $today_info.month | inc, 0, $today_info.year ) ) ),
                                            group_by, array( "published", "day" ),
                                            as_object, false() ) )
     month=$month_list|month_overview( 'published', maketime( 0, 0, 0, $today_info.month, $today_info.day, $today_info.year ),
                                        hash( current, maketime( 0, 0, 0, $today_info.month, $today_info.day, $today_info.year ),
                                              current_class, 'selected',
                                              link, concat( "content/view/full/", $item_node_id ),
                                              month_link, true(), year_link, true(), day_link, true(),
                                              next, hash( link, concat( "content/view/full/", $item_node_id ) ),
                                              previous, hash( link, concat( "content/view/full/", $item_node_id ) )  ) )}

other tread:
http://ez.no/community/forum/setup_design/group_by_parameter_in_fetch_function

Greetings, ekke

http://www.coolscreen.de - Over 40 years of certified eZ Publish know-how: http://www.cjw-network.com
CJW Newsletter: http://projects.ez.no/cjw_newsletter - http://cjw-network.com/en/ez-publ...w-newsletter-multi-channel-marketing

eZ debug

Timing: Jan 31 2025 11:34:57
Script start
Timing: Jan 31 2025 11:34:57
Module start 'content'
Timing: Jan 31 2025 11:34:57
Module end 'content'
Timing: Jan 31 2025 11:34:57
Script end

Main resources:

Total runtime0.3106 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.0079 587.9297180.8359
Module start 'content' 0.00790.0055 768.765697.9922
Module end 'content' 0.01340.2971 866.7578526.1484
Script end 0.3106  1,392.9063 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00331.0768200.0002
Check MTime0.00130.4196200.0001
Mysql Total
Database connection0.00120.373110.0012
Mysqli_queries0.258883.30141410.0018
Looping result0.00140.45271390.0000
Template Total0.296895.510.2968
Template load0.00080.255310.0008
Template processing0.296095.288410.2960
Override
Cache load0.00060.178010.0006
Sytem overhead
Fetch class attribute can translate value0.00070.225010.0007
XML
Image XML parsing0.00030.085910.0003
General
dbfile0.00943.0147200.0005
String conversion0.00000.001930.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