Forums / General / Test harness for template fragments

"Please Note:
  • At the specific request of Ibexa we are changing this projects name to "Exponential" or "Exponential (CMS)" effective as of August, 11th 2025.
  • This project is not associated with the original eZ Publish software or its original developer, eZ Systems or Ibexa".

Test harness for template fragments

Author Message

Sol Millin

Monday 14 April 2003 2:50:43 pm

Could one of you 'gurus' please tell me how to test fragments of templates.

For example, here is some code from you manual...

My limited knowledge suggests I'd need a database, a site, and some override templates... but which ones??

I suppose I would run it as a URI on localhost (I've got ez3 installed on my laptop)

Forgive my lack of knowledge... but I'm trying...

Sol Millin
byron bay
australia

h2>Showing the template variables for different loop types</h2>
<p>For each iteration you can see the template variables which are set by the section function,
they are <b>index</b>:<b>number</b>:<b>key</b></p>

<h3>Looping an array of numbers</h3>

{section name=Num loop=$numbers offset=2 max=2}
{$Num:index}:{$Num:number}:{$Num:key} Number: {$Num:item}<br/>

{/section}

<h3>Looping an associative array</h3>

{section name=Num loop=$assoc}
{$Num:index}:{$Num:number}:{$Num:key} Text: {$Num:item}<br/>

{/section}

<h3>Iterating 5 times</h3>

{section name=Num loop=5 sequence=array(red,blue)}
{section-exclude match=$Num:item|gt(3)}
{section-exclude match=$Num:item|lt(3)}
{section-include match=$Num:item|lt(2)}
{$Num:sequence}-{$Num:index}:{$Num:number}:{$Num:key} Number: {$Num:item}<br/>

{/section}

<h3>Iterating 5 times, backwards</h3>

{section name=Num loop=-5}
{$Num:index}:{$Num:number}:{$Num:key} Number: {$Num:item}<br/>

{/section}

<br/>

<h3>Looping over a multi-dim array</h3>
{* Looping over a multi-dim array and with a sequence *}
<table>
<th>URI</th><th>Name</th>
{section name=Loop loop=$menu:items sequence=array(odd,even)}
<tr><td>{$Loop:sequence} - {$Loop:item.uri}</td><td class={$Loop:sequence}>{$Loop:item.name}</td></tr>
{/section}
</table>

{* This section is controlled by the show parameter, if true the section is used (in this case false) *}
<p>Show list={$show_list|choose('off','on')}</p>
<p>{section name=Loop loop=$menu:items show=$show_list}
{$Loop:item.uri} : {$Loop:item.name}<br />
{/section}</p>

{* This section will only show the {section-else} part since the show item is false *}
{section name=Loop show=0}
<p>abc {$Loop:item} def</p>
{section-else}
<p>Shown for zero or empty vars</p>
{/section}

{* Numeric looping, also shows the use of the {delimiter} function *}
<h2>Loop 5 times</h2>
{section name=Loop loop=5}
{$Loop:item}
{delimiter}.{/delimiter}
{/section}

<h2>Loop 5 times negative</h2>
{section name=Loop loop=-5}
{$Loop:key}
{delimiter}::{/delimiter}
{/section}

Gunnstein Lye

Friday 02 May 2003 7:52:11 am

I suggest simply using design/admin/templates/pagelayout.tpl if you want to test these temaplate fragments. Put them at the top of the file.
Yes, you need a working site to test this.