Location: PHPKode > projects > Open Power Template > docs/Opt/syntax.attributes.section.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<meta name="robots" content="all" />

	<title>opt:section - Open Power Template</title>
	
	<link rel="stylesheet" type="text/css" href="design/generic.css" media="all"  />
	<link rel="stylesheet" type="text/css" href="design/print.css" media="print" />
	<!--[if lte IE 6]><link rel="stylesheet" href="design/ie.css" type="text/css" /><![endif]-->	
	<!--[if IE 7]><link rel="stylesheet" href="design/ie7.css" type="text/css" /><![endif]-->
</head>
<body>

<div id="wrap">
	<div id="header">
		<h1>Open Power Template 2.0</h1>
		<h2>opt:section</h2>
		<p class="generated">@ 02.09.2010</p>
		<p class="location"><a href="index.html"><strong>User manual</strong></a> &raquo; <a href="syntax.html">Template syntax</a> &raquo; <a href="syntax.attributes.html">OPT attributes</a> &raquo; <a href="syntax.attributes.section.html">opt:section</a></p>
	</div>
	
	<div id="content"><dl class="location"><dt><a href="syntax.attributes.html">3.8. OPT attributes</a><br/>3.8.8. opt:section</dt><dd class="prev">3.8.7. opt:on<br/><a href="syntax.attributes.on.html">&laquo; Previous</a></dd><dd class="next">3.8.9. opt:selector<br/><a href="syntax.attributes.selector.html">Next &raquo;</a></dd></dl>	<h1>3.8.8. opt:section</h1><blockquote class="help">
  <p>This chapter describes one of section instructions. We recommend to read <a href="syntax.topics.sections.html" title="3.9.1. Sections">Sections</a> first to get to know more about them.</p>
</blockquote>

<p>This attribute applied to any tag changes it into a section with the specified name. It allows to reduce the following code:</p>

<pre class="xml"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;li</span> <span style="color: #000066;">opt:section</span>=<span style="color: #ff0000;">&quot;list&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>{$list.variable}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre>

<p>Instead:</p>

<pre class="xml"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;opt:section</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;list&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>{$list.variable}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/opt:section<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre>

<p>The tag with <code>opt:section</code> attribute is also a member of section content and the element variables can be used in its attributes:</p>

<pre class="xml"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;li</span> <span style="color: #000066;">parse:class</span>=<span style="color: #ff0000;">&quot;$list.css&quot;</span> <span style="color: #000066;">opt:section</span>=<span style="color: #ff0000;">&quot;list&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>{$list.variable}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre>

<p>The disadvantage of <code>opt:section</code> attribute is that we cannot set additional section options, except separators:</p>

<pre class="xml"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;opt:put</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;$section.name&quot;</span> <span style="color: #000066;">opt:section</span>=<span style="color: #ff0000;">&quot;section&quot;</span> <span style="color: #000066;">str:separator</span>=<span style="color: #ff0000;">&quot; / &quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre>

<p>Sample result:</p>

<pre><code>&lt;p&gt;Value 1 / Value 2 / Value 3 / Value 4&lt;/p&gt;
</code></pre>

<h2>opt:show integration</h2>

<p>The <code>opt:section</code> attribute can be used together with <code>opt:show</code>. Because the attribute must have any value, it is assumed that in this case, it must contain the same section name, as it is defined in <code>opt:show</code>. With <code>opt:show</code> we are also allowed to define extra section attributes:</p>

<pre class="xml"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;opt:show</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;list&quot;</span> <span style="color: #000066;">order</span>=<span style="color: #ff0000;">&quot;desc&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;li</span> <span style="color: #000066;">opt:section</span>=<span style="color: #ff0000;">&quot;list&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>{$list.variable}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ol<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/opt:show<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre>

<h2>Empty lists</h2>

<p>Within the tag with <code>opt:section</code>, you must not use the <code>opt:sectionelse</code> attribute. The only solution for empty lists is <code>opt:show</code> and <code>opt:showelse</code>.</p>
<h4>See also:</h4><ul><li><a href="syntax.instructions.section.html">3.7.19. opt:section</a></li><li><a href="syntax.attributes.selector.html">3.8.9. opt:selector</a></li><li><a href="syntax.topics.sections.html">3.9.1. Sections</a></li></ul><dl class="location location-bottom"><dt>3.8.8. opt:section<br/><a href="syntax.attributes.html">3.8. OPT attributes</a></dt><dd class="prev"><a href="syntax.attributes.on.html">&laquo; Previous</a><br/>3.8.7. opt:on</dd><dd class="next"><a href="syntax.attributes.selector.html">Next &raquo;</a><br/>3.8.9. opt:selector</dd></dl>		</div>
	
	<div id="footer">
		<p>Copyright &copy; <a href="http://www.invenzzia.org/">Invenzzia Group 2008-2009</a></p>
		<p>Available under the terms of license: <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License 1.2</a></p>
		<p>Generated by <strong>TypeFriendly 0.1.4</strong> by <a href="http://www.invenzzia.org/">Invenzzia</a></p>
	</div>
</div>

</body>
</html>
Return current item: Open Power Template