Создание плагина-модификатора для Smarty
В Smarty к переменным можно применять модификаторы. Например, если в переменной $post_time находится значение timestamp, возвращаемое функцией time(), то с помощью модификатора date_format можно превратить его в запись типа "10-10-2007 12:25:52". Делается это так:
{$post_time|date_format:"%d-%m-%Y %H:%M:%S"}
Сам модификатор представляет собой PHP-функцию, файл с кодом которой находится в папке plugins дистрибутива Smarty. Файл должен называться modifier.mod_name.php (где mod_name - имя модификатора, не должно содержать пробелов).
В файле обязательно должна присутствовать функция, которая будет выполняться при вызове модификатора. Она должна иметь вид:
function smarty_modifier_mod_name($string)
{
...
return ...;
}
mod_name в имени файла и функции должны совпадать, $string - это данные, которые передаются модификатору. Функция должна вернуть (return ...) результат обработки этих данных.
Для примера рассмотрим модификатор, который парсирует переданную ему строку BBCode с помощью библиотеки xBB. Назовем наш модификатор parse_bb.
В папке plugins создадим файл с названием modifier.parse_bb.php, в который запишем следующий код:
<?php
function smarty_modifier_parse_bb($string)
{
//подключаем библиотеку
require_once('путь_к_библиотеке_xBB/bbcode.lib.php');
//создаем парсер, передаем ему строку $string с BBCode
$bbtext = new bbcode($string);
//возвращаем обработанный результат (html-код)
return $bbtext->get_html();
}
?>
Как видно из кода - все достаточно просто.
оценка: +1
автор: sam911
|
комментариев нетСтатьи с похожими тегами ↓
Работа в Киеве, работа в Москве: менеджер, программист, юрист. Горячие вакансии. — Безработных.Нет
Салаты, дессерты, торты, рыбные, мясные, блюда из овощей, птицы, рецепты блюд

Добавить комментарий