Help required to correct my Switch condition code

Author Message

SathishKumar Subramanian

Thursday 18 December 2003 1:46:31 am

Hi,

I am using the following code. In this code, If either the total count of resources or the articles count greater than 0 then I am trying to publish the html content in the switch condition. If the resource count is greater than 0 then I want to publish the Message 1. Similarly if the articles count greater than 0 then I want to publish the Message 2.

The {switch match=$:totRes:totalResources} condition is not checking the required validation. So I am getting the Message 1 and 2 in all conditions eventhough total resources or total articles are 0.

The code is:

{*Get total Count of Study Materials*}
{let name=totRes totalResources=fetch('content','list_count', hash('parent_node_id',$node.node_id,'class_filter_array',array(17),'class_filter_type','include'))}

{*Get total Count of Articles*}
{let name=totArt totalArticles=fetch('content','list_count', hash('parent_node_id',$node.node_id,'class_filter_array',array(2),'class_filter_type','include'))}

{section show=(or(gt($totRes:totalResources,0),gt($totRes:totArt:totalArticles,0)))}

{switch match=$:totRes:totalResources}
{case match=gt(0)}
<table><tr><td>Message 1 </td></tr></table>
{/case}
{/switch}

{switch match=$:totRes:totArt:totalArticles}
{case match=gt(0)}
<table><tr><td>Message 2 </td></tr></table>
{/case}
{/switch}

{/section}
{/let}
{/let}

Pls help to correct the problem. Thanx in Advance :)

Sathizh

Tore Skobba

Thursday 18 December 2003 2:23:37 am

Hi

Have you tried to debug with writting out the actual values of your variables?

Try this:

{*Get total Count of Study Materials*}
{*Get total Count of Articles*}
{let totalResources=fetch('content','list_count', hash('parent_node_id',$node.node_id,'class_filter_array',array(17),'class_filter_type','include'))

totalArticles=fetch('content','list_count', hash('parent_node_id',$node.node_id,'class_filter_array',array(2),'class_filter_type','include'))

}

Debug: totRes: {$totalResources}
Debug totArt: {$totalArticles}

{section show=gt($totalResources,0)}
<table><tr><td>Message 1 </td></tr></table>
{/section}

{section show=gt($totalArticles,0)}
<table><tr><td>Message 2 </td></tr></table>
{/section}

{/let}

SathishKumar Subramanian

Thursday 18 December 2003 2:39:59 am

Hi,

Sorry, I have missed one more info.
Inside the {section show=(or(gt($totRes:totalResources,0),gt($totRes:totArt:totalArticles,0)))} I am having additional html contents rather than message 1 and 2. So if the total resources or articles count greater than 0 then they should be shown .
So the section before the switch conditions are required.

sathizh

Tore Skobba

Thursday 18 December 2003 6:44:32 am

then just insert this?

{section show=or(gt($totalResources,0),gs($totalArticles,0))}
Common stuff
{/section}

Or alternatively if objective to minimize conditional branches

{section show=gt($totalResources,0)}
Write common stuff
<table><tr><td>Message 1 </td></tr></table>
{/section}

{section show=gt($totalArticles,0)}
Write common stuff
<table><tr><td>Message 2 </td></tr></table>
{/section}

But you should print out your values to check that they are ok.

cheers
Tore

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 19 2025 00:17:01
Script start
Timing: Jan 19 2025 00:17:01
Module start 'layout'
Timing: Jan 19 2025 00:17:01
Module start 'content'
Timing: Jan 19 2025 00:17:02
Module end 'content'
Timing: Jan 19 2025 00:17:02
Script end

Main resources:

Total runtime1.8266 sec
Peak memory usage4,096.0000 KB
Database Queries60

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0070 588.0625152.6406
Module start 'layout' 0.00700.0048 740.703139.4766
Module start 'content' 0.01191.8130 780.1797503.8828
Module end 'content' 1.82480.0017 1,284.062512.1250
Script end 1.8265  1,296.1875 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00370.2020160.0002
Check MTime0.00140.0756160.0001
Mysql Total
Database connection0.00090.047710.0009
Mysqli_queries1.753195.9782600.0292
Looping result0.00180.0967580.0000
Template Total1.776697.320.8883
Template load0.00210.114120.0010
Template processing1.774697.151820.8873
Template load and register function0.00030.014310.0003
states
state_id_array0.00140.074310.0014
state_identifier_array0.00400.221620.0020
Override
Cache load0.00190.1027680.0000
Sytem overhead
Fetch class attribute can translate value0.00070.036120.0003
Fetch class attribute name0.00250.139440.0006
XML
Image XML parsing0.00020.012620.0001
class_abstraction
Instantiating content class attribute0.00000.000540.0000
General
dbfile0.00080.0411100.0001
String conversion0.00000.000540.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
4content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
18content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
14content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 38
 Number of unique templates used: 5

Time used to render debug report: 0.0001 secs