Forums / Setup & design / Template - Building an array of IDs for further processing.

Template - Building an array of IDs for further processing.

Author Message

Michael Zeidler

Sunday 01 May 2005 3:13:18 pm

Lets assume that we have given an array of contentObjects ($contentobject_array). This array should be iterated to extract the ID of each element used to fill a new array ($folder_node_id_array). Outside of the iteration ({section}-template-function) the new generated array must be available for further processing.

The template code:
------------------

{let folder_node_id_array=array()}
  {section var=folder loop=$contentobject_array}
    {set folder_node_id_array=$folder_node_id_array|append($folder.item.main_node.node_id) }
   A:{$folder_node_id_array|attribute(show)}
  {/section}
<br>B:{$folder_node_id_array|attribute(show)}
{/let}

At A: the correct new array is displayed as expected. But at B: there is not even something displayed. The variable $folder_node_id_array seems to be vanished, although its still in the scope of the let-template-function.
According to the description of the let-template-function I quote the following:
"Assigns one or more variables <b>within its tags</b>. The assigned variables are freed (released) at the end tag."

-------------------------------------------------------------------------------------------
join #ezpublish on irc.freenode.org

Michael Zeidler

Tuesday 03 May 2005 2:08:50 am

Frederik Holljen posted a running solution on IRC which i could adapt to my needs.
Thank you Frederik.

[10:51] <@ fh | >tested the logic in 3.5.1 like this:
[10:52] <@ fh | >{let folder_node_id_array=array()}
[10:52] <@ fh | > {section var=folder loop=array(1,2,3,4)}
[10:52] <@ fh | > {set folder_node_id_array=$folder_node_id_array|append($folder) }
[10:52] <@ fh | > A:{$folder_node_id_array|attribute(show)}
[10:52] <@ fh | > {/section}
[10:52] <@ fh | ><br>B:{$folder_node_id_array|attribute(show)}
[10:52] <@ fh | >{/let}

-------------------------------------------------------------------------------------------
join #ezpublish on irc.freenode.org

Frederik Holljen

Tuesday 03 May 2005 2:17:04 am

No problem :)

eZ debug

Timing: Jan 20 2025 21:02:37
Script start
Timing: Jan 20 2025 21:02:37
Module start 'content'
Timing: Jan 20 2025 21:02:37
Module end 'content'
Timing: Jan 20 2025 21:02:37
Script end

Main resources:

Total runtime0.2513 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.0082 587.9688180.7969
Module start 'content' 0.00820.0058 768.765694.1016
Module end 'content' 0.01410.2371 862.8672527.4219
Script end 0.2512  1,390.2891 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00391.5366200.0002
Check MTime0.00140.5751200.0001
Mysql Total
Database connection0.00110.445810.0011
Mysqli_queries0.191376.12271410.0014
Looping result0.00200.78311390.0000
Template Total0.236794.210.2367
Template load0.00090.361010.0009
Template processing0.235893.850710.2358
Override
Cache load0.00060.255510.0006
Sytem overhead
Fetch class attribute can translate value0.00100.396410.0010
XML
Image XML parsing0.00020.073610.0002
General
dbfile0.01014.0328200.0005
String conversion0.00000.002830.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