aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/docs/programmers/api-functions/api-register-plugin.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/smarty/smarty/docs/programmers/api-functions/api-register-plugin.md')
-rw-r--r--vendor/smarty/smarty/docs/programmers/api-functions/api-register-plugin.md110
1 files changed, 110 insertions, 0 deletions
diff --git a/vendor/smarty/smarty/docs/programmers/api-functions/api-register-plugin.md b/vendor/smarty/smarty/docs/programmers/api-functions/api-register-plugin.md
new file mode 100644
index 000000000..6eb433810
--- /dev/null
+++ b/vendor/smarty/smarty/docs/programmers/api-functions/api-register-plugin.md
@@ -0,0 +1,110 @@
+registerPlugin()
+
+dynamically register plugins
+
+Description
+===========
+
+void
+
+registerPlugin
+
+string
+
+type
+
+string
+
+name
+
+mixed
+
+callback
+
+bool
+
+cacheable
+
+mixed
+
+cache\_attrs
+
+This method registers functions or methods defined in your script as
+plugin. It uses the following parameters:
+
+- `cacheable` and `cache_attrs` can be omitted in most cases. See
+ [controlling cacheability of plugins output](#caching.cacheable) on
+ how to use them properly.
+
+<!-- -->
+
+
+ <?php
+ $smarty->registerPlugin("function","date_now", "print_current_date");
+
+ function print_current_date($params, $smarty)
+ {
+ if(empty($params["format"])) {
+ $format = "%b %e, %Y";
+ } else {
+ $format = $params["format"];
+ }
+ return strftime($format,time());
+ }
+ ?>
+
+
+
+And in the template
+
+
+ {date_now}
+
+ {* or to format differently *}
+ {date_now format="%Y/%m/%d"}
+
+
+ <?php
+ // function declaration
+ function do_translation ($params, $content, $smarty, &$repeat, $template)
+ {
+ if (isset($content)) {
+ $lang = $params["lang"];
+ // do some translation with $content
+ return $translation;
+ }
+ }
+
+ // register with smarty
+ $smarty->registerPlugin("block","translate", "do_translation");
+ ?>
+
+
+
+Where the template is:
+
+
+ {translate lang="br"}Hello, world!{/translate}
+
+
+
+
+ <?php
+
+ // let's map PHP's stripslashes function to a Smarty modifier.
+ $smarty->registerPlugin("modifier","ss", "stripslashes");
+
+ ?>
+
+In the template, use `ss` to strip slashes.
+
+
+ <?php
+ {$var|ss}
+ ?>
+
+See also [`unregisterPlugin()`](#api.unregister.plugin), [plugin
+functions](#plugins.functions), [plugin block
+functions](#plugins.block.functions), [plugin compiler
+functions](#plugins.compiler.functions), and the [creating plugin
+modifiers](#plugins.modifiers) section.