mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-02 17:34:26 +02:00
Deployed 548a6703
to 5.x with MkDocs 1.4.2 and mike 1.1.2
This commit is contained in:
@@ -2058,10 +2058,55 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||||
|
Creating an extension
|
||||||
|
<span class="md-nav__icon md-icon"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
<a href="./" class="md-nav__link md-nav__link--active">
|
<a href="./" class="md-nav__link md-nav__link--active">
|
||||||
Creating an extension
|
Creating an extension
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<label class="md-nav__title" for="__toc">
|
||||||
|
<span class="md-nav__icon md-icon"></span>
|
||||||
|
Table of contents
|
||||||
|
</label>
|
||||||
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||||
|
|
||||||
|
<li class="md-nav__item">
|
||||||
|
<a href="#default-extensions" class="md-nav__link">
|
||||||
|
Default extensions
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="md-nav__item">
|
||||||
|
<a href="#writing-your-own-extension" class="md-nav__link">
|
||||||
|
Writing your own extension
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="md-nav__item">
|
||||||
|
<a href="#registering-an-extension" class="md-nav__link">
|
||||||
|
Registering an extension
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
@@ -2114,6 +2159,35 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<label class="md-nav__title" for="__toc">
|
||||||
|
<span class="md-nav__icon md-icon"></span>
|
||||||
|
Table of contents
|
||||||
|
</label>
|
||||||
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||||
|
|
||||||
|
<li class="md-nav__item">
|
||||||
|
<a href="#default-extensions" class="md-nav__link">
|
||||||
|
Default extensions
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="md-nav__item">
|
||||||
|
<a href="#writing-your-own-extension" class="md-nav__link">
|
||||||
|
Writing your own extension
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="md-nav__item">
|
||||||
|
<a href="#registering-an-extension" class="md-nav__link">
|
||||||
|
Registering an extension
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -2129,6 +2203,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<h1 id="creating-an-extension">Creating an extension</h1>
|
<h1 id="creating-an-extension">Creating an extension</h1>
|
||||||
|
<h2 id="default-extensions">Default extensions</h2>
|
||||||
<p>In order to organize your custom tags and modifiers, you can create an Extension.
|
<p>In order to organize your custom tags and modifiers, you can create an Extension.
|
||||||
In fact, most of Smarty itself is organized into two extensions:</p>
|
In fact, most of Smarty itself is organized into two extensions:</p>
|
||||||
<ul>
|
<ul>
|
||||||
@@ -2141,6 +2216,7 @@ In fact, most of Smarty itself is organized into two extensions:</p>
|
|||||||
<p>There is also the 'BCPluginsAdapter' extension, which does not add any new functionality, but
|
<p>There is also the 'BCPluginsAdapter' extension, which does not add any new functionality, but
|
||||||
wraps calls to deprecated methods such as <code>Smarty\Smarty::addPluginsDir()</code> and <code>Smarty\Smarty::loadFilter()</code>.</p>
|
wraps calls to deprecated methods such as <code>Smarty\Smarty::addPluginsDir()</code> and <code>Smarty\Smarty::loadFilter()</code>.</p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
<h2 id="writing-your-own-extension">Writing your own extension</h2>
|
||||||
<p>In order to write your own custom extension, you must write a class that implements <code>Smarty\Extension\ExtensionInterface</code>.
|
<p>In order to write your own custom extension, you must write a class that implements <code>Smarty\Extension\ExtensionInterface</code>.
|
||||||
However, it is usually easier to extend <code>Smarty\Extension\Base</code> which provides empty implementation for each of the methods
|
However, it is usually easier to extend <code>Smarty\Extension\Base</code> which provides empty implementation for each of the methods
|
||||||
required by <code>Smarty\Extension\ExtensionInterface</code>. This allows you to only override the method(s) you need.</p>
|
required by <code>Smarty\Extension\ExtensionInterface</code>. This allows you to only override the method(s) you need.</p>
|
||||||
@@ -2183,6 +2259,32 @@ Another example, that would allow you to use any valid PHP callable as a modifie
|
|||||||
It also allows you to register pre-, post- and output-filters in a structured way.
|
It also allows you to register pre-, post- and output-filters in a structured way.
|
||||||
The files in <code>src/Extension/</code> in the <code>smarty/smarty</code> dir should give you all the information you need to start
|
The files in <code>src/Extension/</code> in the <code>smarty/smarty</code> dir should give you all the information you need to start
|
||||||
writing your own extension.</p>
|
writing your own extension.</p>
|
||||||
|
<h2 id="registering-an-extension">Registering an extension</h2>
|
||||||
|
<p>When you have written your extension, add it to a Smarty instance as follows:</p>
|
||||||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="cp"><?php</span>
|
||||||
|
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>
|
||||||
|
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="k">use</span> <span class="nx">Smarty\Smarty</span><span class="p">;</span>
|
||||||
|
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a>
|
||||||
|
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="nv">$smarty</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Smarty</span><span class="p">();</span>
|
||||||
|
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a>
|
||||||
|
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="nv">$smarty</span><span class="o">-></span><span class="na">addExtension</span><span class="p">(</span><span class="k">new</span> <span class="nx">MyCustomExtension</span><span class="p">());</span>
|
||||||
|
</code></pre></div>
|
||||||
|
<p>This will add <code>MyCustomExtension</code> to the end of the extension list, meaning that you cannot override tags or modifiers
|
||||||
|
from one of Smarty's default extensions.</p>
|
||||||
|
<p>Should you wish to insert your extension at the top of the extension list, or create a very limited Smarty version that
|
||||||
|
only contains the core extension, you can use <code>Smarty\Smarty::setExtensions()</code> to override the list of extensions.</p>
|
||||||
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="cp"><?php</span>
|
||||||
|
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a>
|
||||||
|
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="k">use</span> <span class="nx">Smarty\Smarty</span><span class="p">;</span>
|
||||||
|
<a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a>
|
||||||
|
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="nv">$smarty</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Smarty</span><span class="p">();</span>
|
||||||
|
<a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a>
|
||||||
|
<a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="nv">$smarty</span><span class="o">-></span><span class="na">setExtensions</span><span class="p">([</span>
|
||||||
|
<a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a> <span class="k">new</span> <span class="nx">Smarty\Extension\CoreExtension</span><span class="p">(),</span>
|
||||||
|
<a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a> <span class="k">new</span> <span class="nx">MyCustomExtension</span><span class="p">(),</span>
|
||||||
|
<a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a> <span class="k">new</span> <span class="nx">Smarty\Extension\DefaultExtension</span><span class="p">(),</span>
|
||||||
|
<a id="__codelineno-3-11" name="__codelineno-3-11" href="#__codelineno-3-11"></a><span class="p">]);</span>
|
||||||
|
</code></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1119,6 +1119,13 @@
|
|||||||
Option Flags
|
Option Flags
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="md-nav__item">
|
||||||
|
<a href="#examples" class="md-nav__link">
|
||||||
|
Examples
|
||||||
|
</a>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
@@ -2170,6 +2177,13 @@
|
|||||||
Option Flags
|
Option Flags
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="md-nav__item">
|
||||||
|
<a href="#examples" class="md-nav__link">
|
||||||
|
Examples
|
||||||
|
</a>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
@@ -2241,6 +2255,7 @@ is the value passed in the <code>name</code> attribute. If you do not supply the
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<h2 id="examples">Examples</h2>
|
||||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="cp">{</span><span class="c">* we don't want to print a div tag unless content is displayed *</span><span class="cp">}</span>
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="cp">{</span><span class="c">* we don't want to print a div tag unless content is displayed *</span><span class="cp">}</span>
|
||||||
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="cp">{</span><span class="nf">capture</span> <span class="na">name</span><span class="o">=</span><span class="s2">"banner"</span><span class="cp">}</span>
|
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="cp">{</span><span class="nf">capture</span> <span class="na">name</span><span class="o">=</span><span class="s2">"banner"</span><span class="cp">}</span>
|
||||||
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="cp">{</span><span class="nf">capture</span> <span class="s2">"banner"</span><span class="cp">}</span><span class="x"> </span><span class="cp">{</span><span class="c">* short-hand *</span><span class="cp">}</span>
|
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="cp">{</span><span class="nf">capture</span> <span class="s2">"banner"</span><span class="cp">}</span><span class="x"> </span><span class="cp">{</span><span class="c">* short-hand *</span><span class="cp">}</span>
|
||||||
|
File diff suppressed because one or more lines are too long
370
5.x/sitemap.xml
370
5.x/sitemap.xml
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Reference in New Issue
Block a user