Набор полезных плагинов для Smarty 3, которые облегчают выполнение различных задач в шаблонах.
Чтобы подключить плагины в Smarty и избежать проблем при обновлении фреймворка, используйте отдельную папку для пользовательских плагинов.
/**
* Set const smarty folder
*/
const SMARTY_DIR = _SMARTY.'/';
/**
* Require Smarty
*/
require_once _SMARTY."/Smarty.class.php";
/**
* Init Smarty
*
* @var Smarty
*/
$smarty = new Smarty();
/**
* Add folder users plugins for smarty
*/
$smarty->addPluginsDir(_LIB.'/smarty_plugins');Тип: Функция Назначение: Генерация GET параметров
Очень полезный плагин для работы с GET параметрами. Позволяет передавать параметры на своих условиях, что особенно пригодится при постраничной навигации в каталогах с множественными фильтрами.
prefix- префикс перед строкойsuffix- суффикс после строкиexclude- GET параметры, которые нужно исключитьnoentity- использовать&вместо&
<a href="index.php?page={$page}{get_params prefix='&' exclude='page'}">{$page}</a>Тип: Модификатор Назначение: Выделение текста
Позволяет выделять определенные сегменты в тексте с помощью тега <mark>. Полезно для подсветки слов или фраз в большом объеме текста. Работает регистронезависимо.
$text- текст для обработки$word- слово для выделения
{$data['text']|highlight:$word}Примечание: Добавьте стили для тега mark в ваш CSS:
mark {
background-color: yellow;
padding: 0 2px;
}Тип: Модификатор Назначение: Скрытие текста
Заменяет все символы текста на блоки (■), полностью скрывая содержимое. Полезно для демонстрации конфиденциальной информации.
$text- текст для обработки
{$secret_data|topsecret}Результат: ■■■■■■■■■■■■■■■■
Тип: Output фильтр Назначение: Коррекция URL в HTML
Автоматически корректирует href атрибуты в HTML коде, заменяя специальные символы в URL на разделители URI.
- Обрабатывает все ссылки в HTML выводе
- Заменяет
?,&,=на разделитель URI для ссылок начинающихся с/
Исходный HTML:
<a href="/catalog?page=1&sort=price">Ссылка</a>После обработки:
<a href="/catalog/page/1/sort/price">Ссылка</a>Автор: alex Roosso & Jambik Проект: RooCMS
Часть проекта Scriptics