Modificadores de variáveis podem ser aplicados a variáveis, funções personalizadas ou strings. Para aplicar um modificador, especifique o valor seguido por |(pipe) e o nome do modificador. Um modificador aceita parâmetros adicionais que afetam o seu comportamento. Estes parâmetros vem após o nome do modificador e são separados por : (dois pontos).
Se você aplicar um modificador à uma matriz ao invés de aplicar ao valor de uma variável, o modificador vai ser aplicado à cada valor da matriz especificada. Se você quer que o modificador use a matriz inteira como um valor, você deve colocar o símbolo @ antes do nome do modificador, como a seguir: {$tituloArtigo|@count} (isto irá mostrar o número de elementos na matriz $tituloArtigo).
Modificadores podem ser carregados automaticamente à partir do seu $plugins_dir (veja: Nomes sugeridos) ou podem ser registrados explicitamente (veja: register_modifier). Adicionalmente, todas as funções php podem ser utiliadas como modificadores implicitamente. (O exemplo do @count acima usa a função count do php e não um modificador do Smarty). Usar funções do php como modificadores tem dois pequenos problemas: Primeiro: às vezes a ordem dos parâmetros da função não é a desejada ({"%2.f"|sprintf:$float} atualmente funciona, mas o melhor seria algo mais intuitivo. Por exemplo: {$float|string_format:"%2.f"} que é disponibilizado na distribuição do Smarty). Segundo: com a variável $security ativada em todas as funções do php que são usadas como modificadores precisam ser declaradas como confiáveis (trusted) na matriz $security_settings['MODIFIER_FUNCS'].
Isto é usado para converter para maiúsculas a primeira letra de todas as palavras em uma variável.
Exemplo 5-2. capitalize
|