Добавление модификаторов Smarty
Цель - добавить модификатор, преобразовывающий первую букву предложения в нижний или верхний регистр.
Как вы знаете, в Smarty такого модификатора нет, значит его надо добавить.
Идем в файл /api/Design.php и в районе 59 строки после подобных модификаторов регистрируем и наши модификаторы, добавив строки:
$this->smarty->registerPlugin('modifier', 'lcfirst', array($this, 'lcfirst_modifier'));
$this->smarty->registerPlugin('modifier', 'ucfirst', array($this, 'ucfirst_modifier'));
Затем в самом конце этого файла, но ДО закрывающей скобки }
по аналогии с уже имеющимися, добавляем наши функции преобразования:
public function lcfirst_modifier($str)
{
return mb_strtolower(mb_substr($str, 0, 1)).mb_substr($str, 1);
}
public function ucfirst_modifier($str)
{
return mb_strtoupper(mb_substr($str, 0, 1)).mb_substr($str, 1);
}
Все, теперь в шаблонах дизайна нам доступны следующие модификаторы:
{$text|lcfirst}
и
{$text|ucfirst}
преобразовывающие текст переменной $text в нижний и верхний регистр соответственно.
Аналогично вы можете добавить в Smarty любую PHP-функцию для преобразования переменных
UPD: обновлено 10.05.2023
Еще нет своего сайта? Запустите интернет-магазин на платформе 5CMS - Все для продаж уже внутри!