aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/docs/programmers/plugins/plugins-modifiers.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/smarty/smarty/docs/programmers/plugins/plugins-modifiers.md')
-rw-r--r--vendor/smarty/smarty/docs/programmers/plugins/plugins-modifiers.md86
1 files changed, 86 insertions, 0 deletions
diff --git a/vendor/smarty/smarty/docs/programmers/plugins/plugins-modifiers.md b/vendor/smarty/smarty/docs/programmers/plugins/plugins-modifiers.md
new file mode 100644
index 000000000..b089821a6
--- /dev/null
+++ b/vendor/smarty/smarty/docs/programmers/plugins/plugins-modifiers.md
@@ -0,0 +1,86 @@
+Modifiers {#plugins.modifiers}
+=========
+
+[Modifiers](#language.modifiers) are little functions that are applied
+to a variable in the template before it is displayed or used in some
+other context. Modifiers can be chained together.
+
+mixed
+
+smarty\_modifier\_
+
+name
+
+mixed
+
+\$value
+
+\[mixed
+
+\$param1
+
+, \...\]
+
+The first parameter to the modifier plugin is the value on which the
+modifier is to operate. The rest of the parameters are optional,
+depending on what kind of operation is to be performed.
+
+The modifier has to [return](&url.php-manual;return) the result of its
+processing.
+
+This plugin basically aliases one of the built-in PHP functions. It does
+not have any additional parameters.
+
+
+ <?php
+ /*
+ * Smarty plugin
+ * -------------------------------------------------------------
+ * File: modifier.capitalize.php
+ * Type: modifier
+ * Name: capitalize
+ * Purpose: capitalize words in the string
+ * -------------------------------------------------------------
+ */
+ function smarty_modifier_capitalize($string)
+ {
+ return ucwords($string);
+ }
+ ?>
+
+
+ <?php
+ /*
+ * Smarty plugin
+ * -------------------------------------------------------------
+ * File: modifier.truncate.php
+ * Type: modifier
+ * Name: truncate
+ * Purpose: Truncate a string to a certain length if necessary,
+ * optionally splitting in the middle of a word, and
+ * appending the $etc string.
+ * -------------------------------------------------------------
+ */
+ function smarty_modifier_truncate($string, $length = 80, $etc = '...',
+ $break_words = false)
+ {
+ if ($length == 0)
+ return '';
+
+ if (strlen($string) > $length) {
+ $length -= strlen($etc);
+ $fragment = substr($string, 0, $length+1);
+ if ($break_words)
+ $fragment = substr($fragment, 0, -1);
+ else
+ $fragment = preg_replace('/\s+(\S+)?$/', '', $fragment);
+ return $fragment.$etc;
+ } else
+ return $string;
+ }
+ ?>
+
+
+
+See also [`registerPlugin()`](#api.register.plugin),
+[`unregisterPlugin()`](#api.unregister.plugin).