Forums / Developer / dynamic name variable

dynamic name variable

Author Message

Romain Bremaud

Wednesday 03 November 2010 8:52:11 am

Hello everybody.

I have a little problem. I would like to have dynamic name variable.

I know to do that in php :

${'example'.$i}

But I don't know how to do that in eZ template. It is possible?

Thanks in advance.

Romain Bremaud
Les clefs du net

Christian Rößler

Wednesday 03 November 2010 9:26:39 am

It is somehow possible to access arrays by defining its indexes as variables. The following code is not tested against ez-template and was written straight from mind to keyboard, so make sure to test it.

{def $myarray=array('foo', 'bar', 'hello', 'world')}
{def $index=2}

content from myarray at index {$index} is {$myarray.$index}

I'm not aware of a constuct you stated above which works in the ez template language. Perhaps it's not even a good idea to use such construct as you might throw away memory and cannot purge it. It also leaks those created variables (example1, example2, ...) into other templates.

Perhaps you should consider to use another solution which is more stable. Perhaps use arrays instead?

http://doc.ez.no/eZ-Publish/Technical-manual/4.x/Reference/Template-operators/Arrays

cheers, chris

Hannover, Germany
eZ-Certified http://auth.ez.no/certification/verify/395613

Romain Bremaud

Friday 05 November 2010 1:11:31 am

Thanks for your help Chris. Effectively I managed to make what I wanted with arrays.

Romain Bremaud
Les clefs du net

eZ debug

Timing: Jan 30 2025 00:51:25
Script start
Timing: Jan 30 2025 00:51:25
Module start 'content'
Timing: Jan 30 2025 00:51:25
Module end 'content'
Timing: Jan 30 2025 00:51:25
Script end

Main resources:

Total runtime0.2959 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.0067 587.8281180.8516
Module start 'content' 0.00670.0058 768.679793.8672
Module end 'content' 0.01250.2834 862.5469522.0938
Script end 0.2958  1,384.6406 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00361.2127200.0002
Check MTime0.00140.4718200.0001
Mysql Total
Database connection0.00120.397110.0012
Mysqli_queries0.238480.57111410.0017
Looping result0.00120.41911390.0000
Template Total0.283095.610.2830
Template load0.00100.331810.0010
Template processing0.282095.312410.2820
Override
Cache load0.00070.241610.0007
Sytem overhead
Fetch class attribute can translate value0.00100.325410.0010
XML
Image XML parsing0.00040.123010.0004
General
dbfile0.00832.7970200.0004
String conversion0.00000.001630.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