| 
									
										
										
										
											2004-04-13 08:46:28 +00:00
										 |  |  | <?xml version="1.0" encoding="iso-8859-1"?> | 
					
						
							|  |  |  | <!-- $Revision$ --> | 
					
						
							|  |  |  | 		<sect1 id="language.function.section"> | 
					
						
							|  |  |  | 			<title>section,sectionelse</title> | 
					
						
							|  |  |  |             <informaltable frame="all"> | 
					
						
							|  |  |  |                 <tgroup cols="5"> | 
					
						
							|  |  |  |                 <colspec colname="param" align="center" /> | 
					
						
							|  |  |  |                 <colspec colname="type" align="center" /> | 
					
						
							|  |  |  |                 <colspec colname="required" align="center" /> | 
					
						
							|  |  |  |                 <colspec colname="default" align="center" /> | 
					
						
							|  |  |  |                 <colspec colname="desc" /> | 
					
						
							|  |  |  |                 <thead> | 
					
						
							|  |  |  |                     <row> | 
					
						
							|  |  |  |                         <entry>Attribute Name</entry> | 
					
						
							|  |  |  |                         <entry>Type</entry> | 
					
						
							|  |  |  |                         <entry>Required</entry> | 
					
						
							|  |  |  |                         <entry>Default</entry> | 
					
						
							|  |  |  |                         <entry>Description</entry> | 
					
						
							|  |  |  |                     </row> | 
					
						
							|  |  |  |                 </thead> | 
					
						
							|  |  |  |                 <tbody> | 
					
						
							|  |  |  |                     <row> | 
					
						
							|  |  |  |                         <entry>name</entry> | 
					
						
							|  |  |  |                         <entry>string</entry> | 
					
						
							|  |  |  |                         <entry>Yes</entry> | 
					
						
							|  |  |  |                         <entry><emphasis>n/a</emphasis></entry> | 
					
						
							|  |  |  |                         <entry>The name of the section</entry> | 
					
						
							|  |  |  |                     </row> | 
					
						
							|  |  |  |                     <row> | 
					
						
							|  |  |  |                         <entry>loop</entry> | 
					
						
							|  |  |  |                         <entry>[$variable_name]</entry> | 
					
						
							|  |  |  |                         <entry>Yes</entry> | 
					
						
							|  |  |  |                         <entry><emphasis>n/a</emphasis></entry> | 
					
						
							|  |  |  |                         <entry>The name of the variable to determine # of loop | 
					
						
							|  |  |  |                         iterations</entry> | 
					
						
							|  |  |  |                     </row> | 
					
						
							|  |  |  |                     <row> | 
					
						
							|  |  |  |                         <entry>start</entry> | 
					
						
							|  |  |  |                         <entry>integer</entry> | 
					
						
							|  |  |  |                         <entry>No</entry> | 
					
						
							|  |  |  | 						<entry><emphasis>0</emphasis></entry> <entry>The index | 
					
						
							|  |  |  | 						position that the section will begin looping. If the | 
					
						
							|  |  |  | 						value is negative, the start position is calculated | 
					
						
							|  |  |  | 						from the end of the array. For example, if there are | 
					
						
							|  |  |  | 						seven values in the loop array and start is -2, the | 
					
						
							|  |  |  | 						start index is 5. Invalid values (values outside of the | 
					
						
							|  |  |  | 						length of the loop array) are automatically truncated | 
					
						
							|  |  |  | 						to the closest valid value.</entry> | 
					
						
							|  |  |  |                     </row> | 
					
						
							|  |  |  |                     <row> | 
					
						
							|  |  |  |                         <entry>step</entry> | 
					
						
							|  |  |  |                         <entry>integer</entry> | 
					
						
							|  |  |  |                         <entry>No</entry> | 
					
						
							|  |  |  |                         <entry><emphasis>1</emphasis></entry> | 
					
						
							|  |  |  | 						<entry>The step value that will be used to traverse the | 
					
						
							|  |  |  | 						loop array. For example, step=2 will loop on index | 
					
						
							|  |  |  | 						0,2,4, etc. If step is negative, it will step through | 
					
						
							|  |  |  | 						the array backwards.</entry> | 
					
						
							|  |  |  |                     </row> | 
					
						
							|  |  |  |                     <row> | 
					
						
							|  |  |  |                         <entry>max</entry> | 
					
						
							|  |  |  |                         <entry>integer</entry> | 
					
						
							|  |  |  |                         <entry>No</entry> | 
					
						
							| 
									
										
										
										
											2004-06-16 14:55:46 +00:00
										 |  |  |                         <entry><emphasis>n/a</emphasis></entry> | 
					
						
							| 
									
										
										
										
											2004-04-13 08:46:28 +00:00
										 |  |  | 						<entry>Sets the maximum number of times the section | 
					
						
							|  |  |  | 						will loop.</entry> | 
					
						
							|  |  |  |                     </row> | 
					
						
							|  |  |  |                     <row> | 
					
						
							|  |  |  |                         <entry>show</entry> | 
					
						
							|  |  |  |                         <entry>boolean</entry> | 
					
						
							|  |  |  |                         <entry>No</entry> | 
					
						
							|  |  |  |                         <entry><emphasis>true</emphasis></entry> | 
					
						
							|  |  |  |                         <entry>determines whether or not to show this section</entry> | 
					
						
							|  |  |  |                     </row> | 
					
						
							|  |  |  |                 </tbody> | 
					
						
							|  |  |  |                 </tgroup> | 
					
						
							|  |  |  |             </informaltable> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  |             Template sections are used for looping over arrays of data. All | 
					
						
							|  |  |  |             <emphasis>section</emphasis> tags must be paired with | 
					
						
							|  |  |  |             <emphasis>/section</emphasis> tags. Required parameters are | 
					
						
							|  |  |  |             <emphasis>name</emphasis> and <emphasis>loop</emphasis>. The name | 
					
						
							|  |  |  |             of the section can be anything you like, made up of letters, | 
					
						
							|  |  |  |             numbers and underscores. Sections can be nested, and the nested | 
					
						
							|  |  |  |             section names must be unique from each other. The loop variable | 
					
						
							|  |  |  |             (usually an array of values) determines the number of times the | 
					
						
							|  |  |  |             section will loop. When printing a variable within a section, the | 
					
						
							|  |  |  |             section name must be given next to variable name within brackets | 
					
						
							|  |  |  |             []. <emphasis>sectionelse</emphasis> is | 
					
						
							|  |  |  |             executed when there are no values in the loop variable. | 
					
						
							|  |  |  | 			</para> | 
					
						
							|  |  |  | <example> | 
					
						
							|  |  |  | <title>section</title> | 
					
						
							|  |  |  | <programlisting> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | {* this example will print out all the values of the $custid array *} | 
					
						
							|  |  |  | {section name=customer loop=$custid} | 
					
						
							|  |  |  | 	id: {$custid[customer]}<br> | 
					
						
							|  |  |  | {/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | id: 1000<br> | 
					
						
							|  |  |  | id: 1001<br> | 
					
						
							|  |  |  | id: 1002<br></programlisting> | 
					
						
							|  |  |  | </example> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <example> | 
					
						
							|  |  |  | <title>section loop variable</title> | 
					
						
							|  |  |  | <programlisting> | 
					
						
							|  |  |  | {* the loop variable only determines the number of times to loop. | 
					
						
							|  |  |  |    you can access any variable from the template within the section. | 
					
						
							|  |  |  |    This example assumes that $custid, $name and $address are all | 
					
						
							|  |  |  |    arrays containing the same number of values *} | 
					
						
							|  |  |  | {section name=customer loop=$custid} | 
					
						
							|  |  |  | 	id: {$custid[customer]}<br> | 
					
						
							|  |  |  | 	name: {$name[customer]}<br> | 
					
						
							|  |  |  | 	address: {$address[customer]}<br> | 
					
						
							|  |  |  | 	<p> | 
					
						
							|  |  |  | {/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | id: 1000<br> | 
					
						
							|  |  |  | name: John Smith<br> | 
					
						
							|  |  |  | address: 253 N 45th<br> | 
					
						
							|  |  |  | <p> | 
					
						
							|  |  |  | id: 1001<br> | 
					
						
							|  |  |  | name: Jack Jones<br> | 
					
						
							|  |  |  | address: 417 Mulberry ln<br> | 
					
						
							|  |  |  | <p> | 
					
						
							|  |  |  | id: 1002<br> | 
					
						
							|  |  |  | name: Jane Munson<br> | 
					
						
							|  |  |  | address: 5605 apple st<br> | 
					
						
							|  |  |  | <p></programlisting> | 
					
						
							|  |  |  | </example> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <example> | 
					
						
							|  |  |  | <title>section names</title> | 
					
						
							|  |  |  | <programlisting> | 
					
						
							|  |  |  | {* the name of the section can be anything you like, | 
					
						
							|  |  |  |    and it is used to reference the data within the section *} | 
					
						
							|  |  |  | {section name=mydata loop=$custid} | 
					
						
							|  |  |  | 	id: {$custid[mydata]}<br> | 
					
						
							|  |  |  | 	name: {$name[mydata]}<br> | 
					
						
							|  |  |  | 	address: {$address[mydata]}<br> | 
					
						
							|  |  |  | 	<p> | 
					
						
							|  |  |  | {/section}</programlisting> | 
					
						
							|  |  |  | </example> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <example> | 
					
						
							|  |  |  | <title>nested sections</title> | 
					
						
							|  |  |  | <programlisting> | 
					
						
							|  |  |  | {* sections can be nested as deep as you like. With nested sections, | 
					
						
							|  |  |  |    you can access complex data structures, such as multi-dimensional | 
					
						
							|  |  |  |    arrays. In this example, $contact_type[customer] is an array of | 
					
						
							|  |  |  |    contact types for the current customer. *} | 
					
						
							|  |  |  | {section name=customer loop=$custid} | 
					
						
							|  |  |  | 	id: {$custid[customer]}<br> | 
					
						
							|  |  |  | 	name: {$name[customer]}<br> | 
					
						
							|  |  |  | 	address: {$address[customer]}<br> | 
					
						
							|  |  |  | 	{section name=contact loop=$contact_type[customer]} | 
					
						
							|  |  |  | 		{$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br> | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 	<p> | 
					
						
							|  |  |  | {/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | id: 1000<br> | 
					
						
							|  |  |  | name: John Smith<br> | 
					
						
							|  |  |  | address: 253 N 45th<br> | 
					
						
							|  |  |  | home phone: 555-555-5555<br> | 
					
						
							|  |  |  | cell phone: 555-555-5555<br> | 
					
						
							|  |  |  | e-mail: john@mydomain.com<br> | 
					
						
							|  |  |  | <p> | 
					
						
							|  |  |  | id: 1001<br> | 
					
						
							|  |  |  | name: Jack Jones<br> | 
					
						
							|  |  |  | address: 417 Mulberry ln<br> | 
					
						
							|  |  |  | home phone: 555-555-5555<br> | 
					
						
							|  |  |  | cell phone: 555-555-5555<br> | 
					
						
							|  |  |  | e-mail: jack@mydomain.com<br> | 
					
						
							|  |  |  | <p> | 
					
						
							|  |  |  | id: 1002<br> | 
					
						
							|  |  |  | name: Jane Munson<br> | 
					
						
							|  |  |  | address: 5605 apple st<br> | 
					
						
							|  |  |  | home phone: 555-555-5555<br> | 
					
						
							|  |  |  | cell phone: 555-555-5555<br> | 
					
						
							|  |  |  | e-mail: jane@mydomain.com<br> | 
					
						
							|  |  |  | <p></programlisting> | 
					
						
							|  |  |  | </example> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <example> | 
					
						
							|  |  |  | <title>sections and associative arrays</title> | 
					
						
							|  |  |  | <programlisting> | 
					
						
							|  |  |  | {* This is an example of printing an associative array | 
					
						
							|  |  |  |    of data within a section *} | 
					
						
							|  |  |  | {section name=customer loop=$contacts} | 
					
						
							|  |  |  | 	name: {$contacts[customer].name}<br> | 
					
						
							|  |  |  | 	home: {$contacts[customer].home}<br> | 
					
						
							|  |  |  | 	cell: {$contacts[customer].cell}<br> | 
					
						
							|  |  |  | 	e-mail: {$contacts[customer].email}<p> | 
					
						
							|  |  |  | {/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | name: John Smith<br> | 
					
						
							|  |  |  | home: 555-555-5555<br> | 
					
						
							|  |  |  | cell: 555-555-5555<br> | 
					
						
							|  |  |  | e-mail: john@mydomain.com<p> | 
					
						
							|  |  |  | name: Jack Jones<br> | 
					
						
							|  |  |  | home phone: 555-555-5555<br> | 
					
						
							|  |  |  | cell phone: 555-555-5555<br> | 
					
						
							|  |  |  | e-mail: jack@mydomain.com<p> | 
					
						
							|  |  |  | name: Jane Munson<br> | 
					
						
							|  |  |  | home phone: 555-555-5555<br> | 
					
						
							|  |  |  | cell phone: 555-555-5555<br> | 
					
						
							|  |  |  | e-mail: jane@mydomain.com<p></programlisting> | 
					
						
							|  |  |  | </example> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <example> | 
					
						
							|  |  |  | <title>sectionelse</title> | 
					
						
							|  |  |  | <programlisting> | 
					
						
							|  |  |  | {* sectionelse will execute if there are no $custid values *} | 
					
						
							|  |  |  | {section name=customer loop=$custid} | 
					
						
							|  |  |  | 	id: {$custid[customer]}<br> | 
					
						
							|  |  |  | {sectionelse} | 
					
						
							|  |  |  | 	there are no values in $custid. | 
					
						
							|  |  |  | {/section}</programlisting> | 
					
						
							|  |  |  | </example> | 
					
						
							|  |  |  | 		<para> | 
					
						
							|  |  |  | 		Sections also have their own variables that handle section properties. | 
					
						
							|  |  |  | 		These are indicated like so: {$smarty.section.sectionname.varname} | 
					
						
							|  |  |  | 		</para> | 
					
						
							| 
									
										
										
										
											2004-04-18 17:23:26 +00:00
										 |  |  | 		<note> | 
					
						
							|  |  |  | 		 <para> | 
					
						
							|  |  |  | 		  As of Smarty 1.5.0, the syntax for section property variables has | 
					
						
							|  |  |  |  		  been changed from {%sectionname.varname%} to | 
					
						
							|  |  |  | 		  {$smarty.section.sectionname.varname}. The old syntax is still | 
					
						
							|  |  |  | 		  supported, but you will only see reference to the new syntax in the | 
					
						
							|  |  |  | 		  manual examples. | 
					
						
							|  |  |  | 		 </para> | 
					
						
							|  |  |  | 		</note> | 
					
						
							| 
									
										
										
										
											2004-04-13 08:46:28 +00:00
										 |  |  | 			<sect2 id="section.property.index"> | 
					
						
							|  |  |  | 			<title>index</title> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  | 			index is used to display the current loop index, starting with zero | 
					
						
							|  |  |  | 			(or the start attribute if given), and incrementing by one (or by | 
					
						
							|  |  |  | 			the step attribute if given.) | 
					
						
							|  |  |  | 			</para> | 
					
						
							|  |  |  | 			<note> | 
					
						
							|  |  |  | 				<title>Technical Note</title> | 
					
						
							|  |  |  | 				<para> | 
					
						
							|  |  |  | 				If the step and start section properties are not | 
					
						
							|  |  |  | 				modified, then this works the same as the iteration section | 
					
						
							|  |  |  | 				property, except it starts on 0 instead of 1. | 
					
						
							|  |  |  | 				</para> | 
					
						
							|  |  |  | 			</note> | 
					
						
							|  |  |  | 	<example> | 
					
						
							|  |  |  | 	<title>section property index</title> | 
					
						
							|  |  |  | 	<programlisting> | 
					
						
							|  |  |  | 	{section name=customer loop=$custid} | 
					
						
							|  |  |  | 	{$smarty.section.customer.index} id: {$custid[customer]}<br> | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	0 id: 1000<br> | 
					
						
							|  |  |  | 	1 id: 1001<br> | 
					
						
							|  |  |  | 	2 id: 1002<br> | 
					
						
							|  |  |  | </programlisting> | 
					
						
							|  |  |  | 	</example> | 
					
						
							|  |  |  | 			</sect2> | 
					
						
							|  |  |  | 			<sect2 id="section.property.index.prev"> | 
					
						
							|  |  |  | 			<title>index_prev</title> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  | 			index_prev is used to display the previous loop index. | 
					
						
							|  |  |  |         	on the first loop, this is set to -1. | 
					
						
							|  |  |  | 			</para> | 
					
						
							|  |  |  | 	<example> | 
					
						
							|  |  |  | 	<title>section property index_prev</title> | 
					
						
							|  |  |  | 	<programlisting> | 
					
						
							|  |  |  | 	{section name=customer loop=$custid} | 
					
						
							|  |  |  | 	{$smarty.section.customer.index} id: {$custid[customer]}<br> | 
					
						
							|  |  |  | 	{* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} | 
					
						
							|  |  |  | 	{if $custid[customer.index_prev] ne $custid[customer.index]} | 
					
						
							|  |  |  |     	The customer id changed<br> | 
					
						
							|  |  |  | 	{/if} | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	0 id: 1000<br> | 
					
						
							|  |  |  |     	The customer id changed<br> | 
					
						
							|  |  |  | 	1 id: 1001<br> | 
					
						
							|  |  |  |     	The customer id changed<br> | 
					
						
							|  |  |  | 	2 id: 1002<br> | 
					
						
							|  |  |  |     	The customer id changed<br> | 
					
						
							|  |  |  | </programlisting> | 
					
						
							|  |  |  | 	</example> | 
					
						
							|  |  |  | 			</sect2> | 
					
						
							|  |  |  | 			<sect2 id="section.property.index.next"> | 
					
						
							|  |  |  | 			<title>index_next</title> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  |         	index_next is used to display the next loop index. On the last | 
					
						
							|  |  |  |         	loop, this is still one more than the current index (respecting the | 
					
						
							|  |  |  | 			setting of the step attribute, if given.) | 
					
						
							|  |  |  | 			</para> | 
					
						
							|  |  |  | 	<example> | 
					
						
							|  |  |  | 	<title>section property index_next</title> | 
					
						
							|  |  |  | 	<programlisting> | 
					
						
							|  |  |  | 	{section name=customer loop=$custid} | 
					
						
							|  |  |  | 	{$smarty.section.customer.index} id: {$custid[customer]}<br> | 
					
						
							|  |  |  | 	{* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} | 
					
						
							|  |  |  | 	{if $custid[customer.index_next] ne $custid[customer.index]} | 
					
						
							|  |  |  |     	The customer id will change<br> | 
					
						
							|  |  |  | 	{/if} | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	0 id: 1000<br> | 
					
						
							|  |  |  |     	The customer id will change<br> | 
					
						
							|  |  |  | 	1 id: 1001<br> | 
					
						
							|  |  |  |     	The customer id will change<br> | 
					
						
							|  |  |  | 	2 id: 1002<br> | 
					
						
							|  |  |  |     	The customer id will change<br> | 
					
						
							|  |  |  | </programlisting> | 
					
						
							|  |  |  | 	</example> | 
					
						
							|  |  |  | 			</sect2> | 
					
						
							|  |  |  | 			<sect2 id="section.property.iteration"> | 
					
						
							|  |  |  | 			<title>iteration</title> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  |         	iteration is used to display the current loop iteration. | 
					
						
							|  |  |  | 			</para> | 
					
						
							| 
									
										
										
										
											2004-04-18 17:23:26 +00:00
										 |  |  | 			<note> | 
					
						
							|  |  |  | 			 <para> | 
					
						
							|  |  |  | 			  This is not affected by the section properties start, step and | 
					
						
							|  |  |  | 			  max, unlike the index property. Iteration also starts with 1 | 
					
						
							|  |  |  | 			  instead of 0 like index. rownum is an alias to iteration, they work | 
					
						
							|  |  |  | 			  identical. | 
					
						
							|  |  |  | 			 </para> | 
					
						
							|  |  |  | 			</note> | 
					
						
							| 
									
										
										
										
											2004-04-13 08:46:28 +00:00
										 |  |  | 	<example> | 
					
						
							|  |  |  | 	<title>section property iteration</title> | 
					
						
							|  |  |  | 	<programlisting> | 
					
						
							|  |  |  | 	{section name=customer loop=$custid start=5 step=2} | 
					
						
							|  |  |  | 	current loop iteration: {$smarty.section.customer.iteration}<br> | 
					
						
							|  |  |  | 	{$smarty.section.customer.index} id: {$custid[customer]}<br> | 
					
						
							|  |  |  | 	{* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} | 
					
						
							|  |  |  | 	{if $custid[customer.index_next] ne $custid[customer.index]} | 
					
						
							|  |  |  |     	The customer id will change<br> | 
					
						
							|  |  |  | 	{/if} | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	current loop iteration: 1 | 
					
						
							|  |  |  | 	5 id: 1000<br> | 
					
						
							|  |  |  |     	The customer id will change<br> | 
					
						
							|  |  |  | 	current loop iteration: 2 | 
					
						
							|  |  |  | 	7 id: 1001<br> | 
					
						
							|  |  |  |     	The customer id will change<br> | 
					
						
							|  |  |  | 	current loop iteration: 3 | 
					
						
							|  |  |  | 	9 id: 1002<br> | 
					
						
							|  |  |  |     	The customer id will change<br> | 
					
						
							|  |  |  | </programlisting> | 
					
						
							|  |  |  | 	</example> | 
					
						
							|  |  |  | 			</sect2> | 
					
						
							|  |  |  | 			<sect2 id="section.property.first"> | 
					
						
							|  |  |  | 			<title>first</title> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  |         	first is set to true if the current section iteration is the first | 
					
						
							|  |  |  |         	one. | 
					
						
							|  |  |  | 			</para> | 
					
						
							|  |  |  | 	<example> | 
					
						
							|  |  |  | 	<title>section property first</title> | 
					
						
							|  |  |  | 	<programlisting> | 
					
						
							|  |  |  | 	{section name=customer loop=$custid} | 
					
						
							|  |  |  | 	{if $smarty.section.customer.first} | 
					
						
							|  |  |  |     	<table> | 
					
						
							|  |  |  | 	{/if} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	<tr><td>{$smarty.section.customer.index} id: | 
					
						
							|  |  |  |         	{$custid[customer]}</td></tr> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	{if $smarty.section.customer.last} | 
					
						
							|  |  |  |     	</table> | 
					
						
							|  |  |  | 	{/if} | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	<table> | 
					
						
							|  |  |  | 	<tr><td>0 id: 1000</td></tr> | 
					
						
							|  |  |  | 	<tr><td>1 id: 1001</td></tr> | 
					
						
							|  |  |  | 	<tr><td>2 id: 1002</td></tr> | 
					
						
							|  |  |  | 	</table> | 
					
						
							|  |  |  | </programlisting> | 
					
						
							|  |  |  | 	</example> | 
					
						
							|  |  |  | 			</sect2> | 
					
						
							|  |  |  | 			<sect2 id="section.property.last"> | 
					
						
							|  |  |  | 			<title>last</title> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  |         	last is set to true if the current section iteration is the last | 
					
						
							|  |  |  |         	one. | 
					
						
							|  |  |  | 			</para> | 
					
						
							|  |  |  | 	<example> | 
					
						
							|  |  |  | 	<title>section property last</title> | 
					
						
							|  |  |  | 	<programlisting> | 
					
						
							|  |  |  | 	{section name=customer loop=$custid} | 
					
						
							|  |  |  | 	{if $smarty.section.customer.first} | 
					
						
							|  |  |  |     	<table> | 
					
						
							|  |  |  | 	{/if} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	<tr><td>{$smarty.section.customer.index} id: | 
					
						
							|  |  |  |         	{$custid[customer]}</td></tr> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	{if $smarty.section.customer.last} | 
					
						
							|  |  |  |     	</table> | 
					
						
							|  |  |  | 	{/if} | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	<table> | 
					
						
							|  |  |  | 	<tr><td>0 id: 1000</td></tr> | 
					
						
							|  |  |  | 	<tr><td>1 id: 1001</td></tr> | 
					
						
							|  |  |  | 	<tr><td>2 id: 1002</td></tr> | 
					
						
							|  |  |  | 	</table> | 
					
						
							|  |  |  | </programlisting> | 
					
						
							|  |  |  | 	</example> | 
					
						
							|  |  |  | 			</sect2> | 
					
						
							|  |  |  | 			<sect2 id="section.property.rownum"> | 
					
						
							|  |  |  | 			<title>rownum</title> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  | 			rownum is used to display the current loop iteration, | 
					
						
							|  |  |  | 			starting with one. It is an alias to iteration, they work | 
					
						
							|  |  |  | 			identically. | 
					
						
							|  |  |  | 			</para> | 
					
						
							|  |  |  | 	<example> | 
					
						
							|  |  |  | 	<title>section property rownum</title> | 
					
						
							|  |  |  | 	<programlisting> | 
					
						
							|  |  |  | 	{section name=customer loop=$custid} | 
					
						
							|  |  |  | 	{$smarty.section.customer.rownum} id: {$custid[customer]}<br> | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	1 id: 1000<br> | 
					
						
							|  |  |  | 	2 id: 1001<br> | 
					
						
							|  |  |  | 	3 id: 1002<br> | 
					
						
							|  |  |  | </programlisting> | 
					
						
							|  |  |  | 	</example> | 
					
						
							|  |  |  | 			</sect2> | 
					
						
							|  |  |  | 			<sect2 id="section.property.loop"> | 
					
						
							|  |  |  | 			<title>loop</title> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  | 			loop is used to display the last index number that this section | 
					
						
							|  |  |  | 			looped. This can be used inside or after the section. | 
					
						
							|  |  |  | 			</para> | 
					
						
							|  |  |  | 	<example> | 
					
						
							|  |  |  | 	<title>section property index</title> | 
					
						
							|  |  |  | 	<programlisting> | 
					
						
							|  |  |  | 	{section name=customer loop=$custid} | 
					
						
							|  |  |  | 	{$smarty.section.customer.index} id: {$custid[customer]}<br> | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	There were {$smarty.section.customer.loop} customers shown above. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	0 id: 1000<br> | 
					
						
							|  |  |  | 	1 id: 1001<br> | 
					
						
							|  |  |  | 	2 id: 1002<br> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	There were 3 customers shown above. | 
					
						
							|  |  |  | </programlisting> | 
					
						
							|  |  |  | 	</example> | 
					
						
							|  |  |  | 			</sect2> | 
					
						
							|  |  |  | 			<sect2 id="section.property.show"> | 
					
						
							|  |  |  | 			<title>show</title> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  |         	<emphasis>show</emphasis> is used as a parameter to section. | 
					
						
							|  |  |  |         	<emphasis>show</emphasis> is a boolean value, true or false. If | 
					
						
							|  |  |  |         	false, the section will not be displayed. If there is a sectionelse | 
					
						
							|  |  |  |         	present, that will be alternately displayed. | 
					
						
							|  |  |  | 			</para> | 
					
						
							|  |  |  | 	<example> | 
					
						
							|  |  |  | 	<title>section attribute show</title> | 
					
						
							|  |  |  | 	<programlisting> | 
					
						
							|  |  |  | 	{* $show_customer_info may have been passed from the PHP | 
					
						
							|  |  |  | 	application, to regulate whether or not this section shows *} | 
					
						
							|  |  |  | 	{section name=customer loop=$custid show=$show_customer_info} | 
					
						
							|  |  |  | 	{$smarty.section.customer.rownum} id: {$custid[customer]}<br> | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	{if $smarty.section.customer.show} | 
					
						
							|  |  |  | 	the section was shown. | 
					
						
							|  |  |  | 	{else} | 
					
						
							|  |  |  | 	the section was not shown. | 
					
						
							|  |  |  | 	{/if} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	1 id: 1000<br> | 
					
						
							|  |  |  | 	2 id: 1001<br> | 
					
						
							|  |  |  | 	3 id: 1002<br> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	the section was shown. | 
					
						
							|  |  |  | </programlisting> | 
					
						
							|  |  |  | 	</example> | 
					
						
							|  |  |  | 			</sect2> | 
					
						
							|  |  |  | 			<sect2 id="section.property.total"> | 
					
						
							|  |  |  | 			<title>total</title> | 
					
						
							|  |  |  | 			<para> | 
					
						
							|  |  |  | 			total is used to display the number of iterations that this section | 
					
						
							|  |  |  | 			will loop. This can be used inside or after the section. | 
					
						
							|  |  |  | 			</para> | 
					
						
							|  |  |  | 	<example> | 
					
						
							|  |  |  | 	<title>section property total</title> | 
					
						
							|  |  |  | 	<programlisting> | 
					
						
							|  |  |  | 	{section name=customer loop=$custid step=2} | 
					
						
							|  |  |  | 	{$smarty.section.customer.index} id: {$custid[customer]}<br> | 
					
						
							|  |  |  | 	{/section} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	There were {$smarty.section.customer.total} customers shown above. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	OUTPUT: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	0 id: 1000<br> | 
					
						
							|  |  |  | 	2 id: 1001<br> | 
					
						
							|  |  |  | 	4 id: 1002<br> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	There were 3 customers shown above. | 
					
						
							|  |  |  | </programlisting> | 
					
						
							|  |  |  | 	</example> | 
					
						
							|  |  |  | 			</sect2> | 
					
						
							|  |  |  | </sect1> | 
					
						
							|  |  |  | <!-- Keep this comment at the end of the file
 | 
					
						
							|  |  |  | Local variables: | 
					
						
							|  |  |  | mode: sgml | 
					
						
							|  |  |  | sgml-omittag:t | 
					
						
							|  |  |  | sgml-shorttag:t | 
					
						
							|  |  |  | sgml-minimize-attributes:nil | 
					
						
							|  |  |  | sgml-always-quote-attributes:t | 
					
						
							|  |  |  | sgml-indent-step:1 | 
					
						
							|  |  |  | sgml-indent-data:t | 
					
						
							|  |  |  | indent-tabs-mode:nil | 
					
						
							|  |  |  | sgml-parent-document:nil | 
					
						
							|  |  |  | sgml-default-dtd-file:"../../../../manual.ced" | 
					
						
							|  |  |  | sgml-exposed-tags:nil | 
					
						
							|  |  |  | sgml-local-catalogs:nil | 
					
						
							|  |  |  | sgml-local-ecat-files:nil | 
					
						
							|  |  |  | End: | 
					
						
							|  |  |  | vim600: syn=xml fen fdm=syntax fdl=2 si | 
					
						
							|  |  |  | vim: et tw=78 syn=sgml | 
					
						
							|  |  |  | vi: ts=1 sw=1 | 
					
						
							| 
									
										
										
										
											2004-04-18 17:23:26 +00:00
										 |  |  | --> |