Документация Smarty


Модификаторы

Модификаторы - это маленькие функции, которые воздействуют на переменные в шаблоне перед тем, как те будут выведены на экран или использованы в ином контексте. Для каждой переменной шаблона, одновременно могут быть использованы несколько модификаторов.

mixed smarty_modifier_name (mixed $value, [mixed $param1, ...])

Первый параметр плагина-модификатора это значение в отношении которого модификатор будет применен. Остальные параметры могут быть произвольными, в зависимости от операций, которые они осуществляют.

Модификатор должен возвращать результат, полученный в процессе своего выполнения.

Смотрите также: register_modifier(), unregister_modifier().

Пример 16-3. Простой плагин-модификатор

Этот плагин в своей основе является аналогом одной из PHP-функций. Он не имеет никаких дополнительных параметров.

<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * Файл:     modifier.capitalize.php
 * Тип:     modifier
 * Имя:     capitalize
 * Назначение:  Сделать первую букву каждого слова в
 * строке прописной
 * -------------------------------------------------------------
 */
function smarty_modifier_capitalize($string)
{
    return 
ucwords($string);
}
?>

Пример 16-4. Более сложный модификатор

<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * Файл:     modifier.truncate.php
 * Тип:     modifier
 * Имя:     truncate
 * Назначение:  Урезать строку до определенной длины,
 *           при необходимости обрезать слово на половине и присоеденить строку $etc.
 * -------------------------------------------------------------
 */
function smarty_modifier_truncate($string$length 80$etc '...',
                                  
$break_words false)
{
    if (
$length == 0)
        return 
'';

    if (
strlen($string) > $length) {
        
$length -= strlen($etc);
        
$fragment substr($string0$length+1);
        if (
$break_words)
            
$fragment substr($fragment0, -1);
        else
            
$fragment preg_replace('/\s+(\S+)?$/'''$fragment);
        return 
$fragment.$etc;
    } else
        return 
$string;
}
?>
SAPE все усложнил?

MainLink - простая и прибыльная продажа ссылок!

Последние поступления:

Размещена 10 августа 2020 года

Я по ТВ видел, что через 10 лет мы будем жить лучше, чем в Германии...
Я не понял, что это они с Германией сделать хотят?!

читать далее…

ТехЗадание на Землю

Размещена 14 марта 2018 года

Пpоект Genesis (из коpпоpативной пеpеписки)

читать далее…

Шпаргалка по работе с Vim

Размещена 05 декабря 2017 года

Vim довольно мощный редактор, но работа с ним не всегда наглядна.
Например если нужно отредактировать какой-то файл например при помощи crontab, без знания специфики работы с viv никак.

читать далее…

Ошибка: Error: Cannot find a valid baseurl for repo

Размещена 13 сентабря 2017 года

Если возникает ошибка на centos 5 вида
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/

читать далее…

Linux Optimization

Размещена 30 июля 2012 года

Prelink

читать далее…