What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Table of Contents
Los modificadores de variables pueden ser aplicados a variables,
funciones habituales o cadenas. Para aplicar un modificador, especifique
el valor seguido por |
(pipe) y el nombre del modificador.
Un modificador necesita parámetros adicionales que afetan en su funcionamento.
Estos parámetros siguen al nombre del modificador y son separados por
:
(dos puntos).
Example 5.1. Ejemplo de modificador
{* apply modifier to a variable *} {$title|upper} {* modifier with parameters *} {$title|truncate:40:"..."} {* apply modifier to a function parameter *} {html_table loop=$myvar|upper} {* with parameters *} {html_table loop=$myvar|truncate:40:"..."} {* apply modifier to literal string *} {"foobar"|upper} {* using date_format to format the current date *} {$smarty.now|date_format:"%Y/%m/%d"} {* apply modifier to a custom function *} {mailto|upper address="me@domain.dom"}
Si usted aplica un modificador a una matriz en lugar del valor de
una variable, el modificador va a ser aplicado en cada uno de los
valores de la matriz. Si usted realmente quisiera que el modificador
funcionara en una matriz entera, debe colocar el simbolo
@
antes del nombre del modificador, así como:
{$articleTitle|@count}
(esto mostrara el número de
elementos de la matriz $articleTitle.)
Los modificadores pueden ser cargados automáticamente a partir de su
$plugins_dir (vea también:
Naming Conventions)
o pueden ser registrados explicitamente (vea:
register_modifier).
Adicionalmente, todas las funciones de php pueden ser
utilizadas como modificadores implicitamente.
(El ejemplo @count
de arriba usa actualmente la
función count de php y no un modificador de Smarty).
Usar funciones de php como modificadores tiene dos pequeños problemas:
Primero, algunas veces al ordenar los parámetros de una función
esto no es aconsejable ({"%2.f"|sprintf:$float}
actualmente funciona, pero existe algo mas intuitivo
Por ejemplo: {$float|string_format:"%2.f"}
que es proporcionado con la distribución de Smarty).
Segundo: con $security activado,
todas las funciones de php que sean utilizadas como modificadores deben
ser declaradas como variables de una matriz
$security_settings['MODIFIER_FUNCS']
.
Ver también register_modifier(), register_function(), Extending Smarty with plugins y modifiers,
Posicion del Parametro | Tipo | Requerido | Default | Descripción |
---|---|---|---|---|
1 | boolean | No | false | Este determina que palabra con digitos no debe ser convertida |
Este es usado para convertir a mayuscula la primera letra de todas la palabras de una variable.
Example 5.2. capitalize
<?php $smarty->assign('articleTitle', 'next x-men film, x3, delayed.'); ?>
Donde el template es:
{$articleTitle} {$articleTitle|capitalize} {$articleTitle|capitalize:true}
Esta es la salida:
next x-men film, x3, delayed. Next X-Men Film, x3, Delayed. Next X-Men Film, X3, Delayed.