<!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>inherit() - 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>inherit()</h2>
<p class="generated">@ 02.09.2010</p>
<p class="location"><a href="index.html"><strong>User manual</strong></a> » <a href="api.html">API Reference</a> » <a href="api.opt-view.html">Opt_View</a> » <a href="api.opt-view.inherit.html">Opt_View::inherit()</a></p>
</div>
<div id="content"><dl class="location"><dt><a href="api.opt-view.html">7.2. Opt_View class</a><br/>7.2.23. inherit()</dt><dd class="prev">7.2.22. hasDynamicContent()<br/><a href="api.opt-view.has-dynamic-content.html">« Previous</a></dd><dd class="next">7.2.24. remove()<br/><a href="api.opt-view.remove.html">Next »</a></dd></dl> <h1>7.2.23. inherit()</h1><div class="tf_reference"><table><tr><th>Construct</th><td>Method</td></tr><tr><th>Visibility</th><td>public</td></tr><tr><th>Reference</th><td><code>void inherit( string $sourceFile [, string $destinationFile ] )</code></td></tr></table><hr/></div><p>Performs a dynamic inheritance on the templates associated to the current view. The method may be called in two ways:</p>
<pre class="php"><span style="color: #000088;">$view</span><span style="color: #339933;">-></span><span style="color: #004000;">inherit</span><span style="color: #009900;">(</span><span style="color: #0000ff;">'inherited_by.tpl'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span></pre>
<p>In this case, the template associated to the view is inherited by <code>inherited_by.tpl</code>. Alternatively, we may do the following:</p>
<pre class="php"><span style="color: #000088;">$view</span><span style="color: #339933;">-></span><span style="color: #004000;">inherit</span><span style="color: #009900;">(</span><span style="color: #0000ff;">'inheriting_template.tpl'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'inherited_by.tpl'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span></pre>
<p>Now we inherit the <code>inheriting_template.tpl</code> with <code>inherited_by.tpl</code>. This allows to create compound inheritance chains:</p>
<pre class="php"><span style="color: #000088;">$view</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Opt_View<span style="color: #009900;">(</span><span style="color: #0000ff;">'template1.tpl'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$view</span><span style="color: #339933;">-></span><span style="color: #004000;">inherit</span><span style="color: #009900;">(</span><span style="color: #0000ff;">'template2.tpl'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$view</span><span style="color: #339933;">-></span><span style="color: #004000;">inherit</span><span style="color: #009900;">(</span><span style="color: #0000ff;">'template2.tpl'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'template3.tpl'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$view</span><span style="color: #339933;">-></span><span style="color: #004000;">inherit</span><span style="color: #009900;">(</span><span style="color: #0000ff;">'template3.tpl'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'template4.tpl'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span></pre>
<p>In order to make the dynamic inheritance possible, the templates must allow it:</p>
<pre class="xml"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;"><opt:extend</span> <span style="color: #000066;">file</span>=<span style="color: #ff0000;">"default_file.tpl"</span> <span style="color: #000066;">dynamic</span>=<span style="color: #ff0000;">"yes"</span><span style="color: #000000; font-weight: bold;">></span></span>
<span style="color: #808080; font-style: italic;"><!-- some code snippets --></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;"></opt:extend<span style="color: #000000; font-weight: bold;">></span></span></span></pre>
<blockquote class="information">
<p>Another way to create the dynamic inheritance is to use branches. See <a href="syntax.topics.modularization.inheritance.html" title="3.9.4.2. Template inheritance">the chapter about inheritance</a> to get to know more.</p>
</blockquote>
<h2>Extending snippets</h2>
<p>In OPT, the templates are not limited to extend whole templates. It is possible to extend one of existing snippets created with <a href="syntax.instructions.snippet.html" title="3.7.23. opt:snippet">opt:snippet</a> instruction. In order to get to know more about extending snippets, see a chapter about <a href="syntax.topics.modularization.inheritance.html" title="3.9.4.2. Template inheritance">template inheritance</a>.</p>
<dl class="location location-bottom"><dt>7.2.23. inherit()<br/><a href="api.opt-view.html">7.2. Opt_View class</a></dt><dd class="prev"><a href="api.opt-view.has-dynamic-content.html">« Previous</a><br/>7.2.22. hasDynamicContent()</dd><dd class="next"><a href="api.opt-view.remove.html">Next »</a><br/>7.2.24. remove()</dd></dl> </div>
<div id="footer">
<p>Copyright © <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>