aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/docs/programmers/plugins/plugins-writing.md
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2022-02-11 09:27:57 +0000
committerMario <mario@mariovavti.com>2022-02-11 09:27:57 +0000
commit615c9f1cbe2ccf9c33b035bcf04c5bc6bf64c7ed (patch)
tree9a2eb293fde70e7222957557dbfe6c3ab1df86f2 /vendor/smarty/smarty/docs/programmers/plugins/plugins-writing.md
parent7d75d0cfbdca9914814dd5c8390a45eaf377b48d (diff)
downloadvolse-hubzilla-615c9f1cbe2ccf9c33b035bcf04c5bc6bf64c7ed.tar.gz
volse-hubzilla-615c9f1cbe2ccf9c33b035bcf04c5bc6bf64c7ed.tar.bz2
volse-hubzilla-615c9f1cbe2ccf9c33b035bcf04c5bc6bf64c7ed.zip
composer update smarty to version 4.1 - new files
Diffstat (limited to 'vendor/smarty/smarty/docs/programmers/plugins/plugins-writing.md')
-rw-r--r--vendor/smarty/smarty/docs/programmers/plugins/plugins-writing.md36
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/smarty/smarty/docs/programmers/plugins/plugins-writing.md b/vendor/smarty/smarty/docs/programmers/plugins/plugins-writing.md
new file mode 100644
index 000000000..972911d97
--- /dev/null
+++ b/vendor/smarty/smarty/docs/programmers/plugins/plugins-writing.md
@@ -0,0 +1,36 @@
+Writing Plugins {#plugins.writing}
+===============
+
+Plugins can be either loaded by Smarty automatically from the filesystem
+or they can be registered at runtime via one of the register\_\* API
+functions. They can also be unregistered by using unregister\_\* API
+functions.
+
+For the plugins that are registered at runtime, the name of the plugin
+function(s) does not have to follow the naming convention.
+
+If a plugin depends on some functionality provided by another plugin (as
+is the case with some plugins bundled with Smarty), then the proper way
+to load the needed plugin is this:
+
+
+ <?php
+ function smarty_function_yourPlugin(array $params, Smarty_Internal_Template $template)
+ {
+ // load plugin depended upon
+ $template->smarty->loadPlugin('smarty_shared_make_timestamp');
+ // plugin code
+ }
+ ?>
+
+
+
+As a general rule, the currently evaluated template\'s
+Smarty\_Internal\_Template object is always passed to the plugins as the
+last parameter with two exceptions:
+
+- modifiers do not get passed the Smarty\_Internal\_Template object at
+ all
+
+- blocks get passed `$repeat` after the Smarty\_Internal\_Template
+ object to keep backwards compatibility to older versions of Smarty.