Добрый день!
Прошу подсказать, что еще требуется сделать чтобы заработало? Необходимо добавить модификатор для транслитерации русского текста на английский.
Создал в /app/functions/smarty_plugins/ файл modifier.translit.php
Содержимое файла:
<?php
function smarty_modifier_translit($text)
{
$text = mb_strtolower($text);
$gost = array(
// Буквы
‘а’=>‘a’,
‘б’=>‘b’,
‘в’=>‘v’,
‘г’=>‘g’,
‘д’=>‘d’,
‘е’=>‘e’,
‘ё’=>‘yo’,
‘ж’=>‘zh’,
‘з’=>‘z’,
‘и’=>‘i’,
‘й’=>‘j’,
‘к’=>‘k’,
‘л’=>‘l’,
‘м’=>‘m’,
‘н’=>‘n’,
‘о’=>‘o’,
‘п’=>‘p’,
‘р’=>‘r’,
‘с’=>‘s’,
‘т’=>‘t’,
‘у’=>‘u’,
‘ф’=>‘f’,
‘х’=>‘h’,
‘ц’=>‘c’,
‘ч’=>‘ch’,
‘ш’=>‘sh’,
‘щ’=>‘shh’,
‘ъ’=>‘j’,
‘ы’=>‘y’,
‘ь’=>‘’,
‘э’=>‘e’,
‘ю’=>‘yu’,
‘я’=>‘ya’,
// Всякие знаки препинания и пробелы
’ ‘=>’-‘,
’ - ‘=>’-’,
‘_’=>‘-’,
//Удаляем
‘.’=>‘’,
‘:’=>‘’,
‘;’=>‘’,
‘,’=>‘’,
‘!’=>‘’,
‘?’=>‘’,
‘>’=>‘’,
‘<’=>‘’,
‘&’=>‘’,
‘*’=>‘’,
‘%’=>‘’,
‘$’=>‘’,
‘"’=>‘’,
‘'’=>‘’,
‘(’=>‘’,
‘)’=>‘’,
‘`’=>‘’,
‘+’=>‘’,
‘/’=>‘’,
‘\’=>‘’,
);
return strtr($text, $gost);
}
?>
Что может быть не так? Вывод в формате {$feature.name|translit} выводит пустоту.
PS Понял, в чем была моя ошибка, поправил выше - функция работает. Результат - открывающий тег с модификатором, закрывающий - без модификатора.