Forums / Setup & design / section show and ezselection

section show and ezselection

Author Message

laurent le cadet

Sunday 15 October 2006 5:11:02 am

Hi,

I can't find something to check if an ezselection attribute (multichoices) has content or not to use a "section show".

I tryed almost everything (has_content, is_empty|not, data_int)...whithout success :(

Any hint ?

Regards.

Laurent

Claudia Kosny

Sunday 15 October 2006 7:50:52 am

Hi Laurent

As far as I remember the content of an ezselection is stored in data_test to allow for multiple selects so you might try that.
According to the documentation for selection, 'The ".content" of an ezcontentobjectattribute object using this datatype returns an array of the identification numbers (as strings) of the selected options.' So another idea might be to just check for $attribute.content which should be an empty array if nothing is selected.

Greetings from Luxembourg

Claudia

laurent le cadet

Sunday 15 October 2006 7:59:06 am

Hi Claudia,

Yes, it returned an array. But how do you check it's empty or not ?

...

Claudia Kosny

Sunday 15 October 2006 8:24:59 am

Just count the elements - if the count is zero the array is empty.

{def $foo = array()}
{if $foo|count()|eq(0)}
 the array is empty
{else}
 the array is not empty
{/if}

Actually most of the if condition is not strictly necessary:
{if $foo} should evaluate to true if the array contains something and to false otherwise
{if $foo|count()} should evaluate to true if the array contains something and to false otherwise
but as this is not clearly mentioned in the documentation (or I have not found it), I would not rely on such shortcuts.

Greetings from Luxembourg

Claudia

laurent le cadet

Monday 16 October 2006 12:36:36 am

Claudia,

I'm using a 3.6.4 so i tryed something based on your codelike this

{section show=$node.object.data_map.langues.attribute.content|count()|gt(0)}...{/section}

But if there is a least nothing or one item selected, {$node.object.data_map.langues.attribute.content|count()} is still equal to 1 (!!!?)

If I have 2 options selected it's equal to 2 which is more logical...

Stuck.

Claudia Kosny

Monday 16 October 2006 1:34:33 pm

Hi Laurent

Sorry, I had totally forgotten that an ezselection without anything selected still returns an array with one entry (whose value is an empty string).

Seeing this, you either should use data_text or sort_key_string for your show condition. If you want to use the content of the attribute you have to check whether the first array entry is an empty string or contains a number. I don't know which method is better so just use the one you like most.

Claudia

eZ debug

Timing: Jan 31 2025 04:24:05
Script start
Timing: Jan 31 2025 04:24:05
Module start 'content'
Timing: Jan 31 2025 04:24:05
Module end 'content'
Timing: Jan 31 2025 04:24:05
Script end

Main resources:

Total runtime0.1548 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.0075 587.9297180.8359
Module start 'content' 0.00750.0086 768.765697.9922
Module end 'content' 0.01610.1386 866.7578525.8984
Script end 0.1547  1,392.6563 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00362.3517200.0002
Check MTime0.00150.9435200.0001
Mysql Total
Database connection0.00070.442510.0007
Mysqli_queries0.103767.00141410.0007
Looping result0.00120.80721390.0000
Template Total0.138189.210.1381
Template load0.00090.591710.0009
Template processing0.137288.629910.1372
Override
Cache load0.00070.423210.0007
Sytem overhead
Fetch class attribute can translate value0.00100.674410.0010
XML
Image XML parsing0.00030.180810.0003
General
dbfile0.00925.9375200.0005
String conversion0.00000.005730.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