Использование модификатора переменной Smarty по умолчанию с gettext

StackOverflow https://stackoverflow.com/questions/862889

Вопрос

В настоящее время я использую 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"}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top