Forums / Setup & design / Pls help to correct the code

Pls help to correct the code

Author Message

SathishKumar Subramanian

Thursday 18 December 2003 4:10:21 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)))}
<table><tr><td>Hello Everybody!</td></tr></table>

{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}

How can I make it to function right? Pls help.
Sathizh

Paal Are Solberg

Tuesday 30 December 2003 11:26:16 pm

Namespaces can be tricky! Good idea is to introduce fewer of them by 1) grouping more of the "fetch'es" together at the top in the first "let" and 2) working more on your algorithm. Try the code below (I have not tested this, but it may give you some ideas)?

{*Get total Count of Study Materials*}
{let 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*}
totalArticles=fetch('content','list_count', hash('parent_node_id',$node.node_id,
'class_filter_array',array(2),'class_filter_type','include'))}

{section show=$totalResources|gt(0)}
<table><tr><td>Hello Everybody!</td></tr></table>
<table><tr><td>Message 1 </td></tr></table>
{section-else}
{section show=$totalArticles|gt(0)}
<table><tr><td>Hello Everybody!</td></tr></table>
table><tr><td>Message 2 </td></tr></table>
{/section}
{/section}
{/let}