<!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>Backticks - 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>Backticks</h2>
<p class="generated">@ 02.09.2010</p>
<p class="location"><a href="index.html"><strong>User manual</strong></a> » <a href="syntax.html">Template syntax</a> » <a href="syntax.expressions.html">Expressions</a> » <a href="syntax.expressions.backticks.html">Backticks</a></p>
</div>
<div id="content"><dl class="location"><dt><a href="syntax.expressions.html">3.5. Expressions</a><br/>3.5.5. Backticks</dt><dd class="prev">3.5.4. Functions<br/><a href="syntax.expressions.functions.html">« Previous</a></dd><dd class="next">3.5.6. Objects<br/><a href="syntax.expressions.objects.html">Next »</a></dd></dl> <h1>3.5.5. Backticks</h1><p>OPT supports a special type of strings written in the backticks: <code>`</code>. Their behavior can be programmed by the programmer. In the example above, the backticks are used as a template access to the Access Control List system:</p>
<pre class="xml"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;"><opt:if</span> <span style="color: #000066;">test</span>=<span style="color: #ff0000;">"`/user/control/security`"</span><span style="color: #000000; font-weight: bold;">></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;"><p<span style="color: #000000; font-weight: bold;">></span></span></span>User IP: {$user.ip}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;"></p<span style="color: #000000; font-weight: bold;">></span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;"></opt:if<span style="color: #000000; font-weight: bold;">></span></span></span></pre>
<p>Currently, OPT does not support a concatenation of the backtick strings, but this feature is planned to appear in the future releases.</p>
<h2>For programmers</h2>
<p>Backtick string handler is an ordinary function or object method that takes one argument - the backtick string content. It may be registered in the template using a configuration directive <code>backticks</code>:</p>
<pre class="php"><span style="color: #000000; font-weight: bold;">function</span> myBacktickHandler<span style="color: #009900;">(</span><span style="color: #000088;">$string</span><span style="color: #009900;">)</span>
<span style="color: #009900;">{</span>
<span style="color: #b1b100;">return</span> <a href="http://www.php.net/strtoupper"><span style="color: #990000;">strtoupper</span></a><span style="color: #009900;">(</span><span style="color: #000088;">$string</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #009900;">}</span> <span style="color: #666666; font-style: italic;">// end myBacktickHandler();</span>
<span style="color: #000088;">$tpl</span><span style="color: #339933;">-></span><span style="color: #004000;">backticks</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'myBacktickHandler'</span><span style="color: #339933;">;</span></pre>
<blockquote class="error">
<p>Note that using the backticks without a handler registered causes an exception.</p>
</blockquote>
<h4>See also:</h4><ul><li><a href="guide.i18n.html">4.9. Internationalization</a></li></ul><dl class="location location-bottom"><dt>3.5.5. Backticks<br/><a href="syntax.expressions.html">3.5. Expressions</a></dt><dd class="prev"><a href="syntax.expressions.functions.html">« Previous</a><br/>3.5.4. Functions</dd><dd class="next"><a href="syntax.expressions.objects.html">Next »</a><br/>3.5.6. Objects</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>