Использование модификатора переменной Smarty по умолчанию с gettext
-
21-08-2019 - |
Вопрос
В настоящее время я использую Smarty с Zend Framework и настроил Smarty для использования gettext следующим образом:
{gettext text="resource-identifier"}
Это работает правильно, но у меня возникла проблема при попытке использовать это с обработчиком переменных Smarty по умолчанию.Я хочу сделать это:
{$somevar|default:gettext text="resource-identifier"}
Но это печатает только «gettext».Любые предложения о том, как я могу это сделать.Возможно ли это вообще?
Решение
Для Smarty такое объединение результатов функции невозможно.Вам нужно будет посмотреть, может ли gettext присвоить свой результат переменной (параметр Assign=varname) или написать свой собственный (и в этот момент просто написать новый модификатор, например default_gettext:'resource-id')
в предполагаемом назначении это будет выглядеть так:
{gettext text="resource-id" assign="myvar"}
{$somevar|default:$myvar}
В новом модификаторе это будет выглядеть так:
{$somevar|default_gettext:"resource-id"}