Как обработать своей функцией?

Вопрос наверное больше относится к Смарти, но всё же.

Есть у меня темплейт, например, topic.tpl, отвечающий за вывод топика. В нём есть всякие конструкции типа:
{$oTopic->getTitle()|escape:'html'}

То есть, вроде как, функции в некотором виде оттуда вызывать можно, но добавить свою нельзя, хоть она и стандартная PHP’шная. То есть, в моём случае, было бы удобно сделать как-то так:
{$oTopic->urlencode(getTitle())}

Так не получается. Я понимаю, что есть какое-то место, где функция создаётся (если она своя), другое место, где она как-то переопределяется, чтобы вызываться без параметров (?), но где это всё я так и не нашёл.

Теперь вопрос: как мне добиться того, чтобы urlencode() заработал?

6 комментариев

avatar
Помогите, пожалуйста. Думаю, многим будет полезно, в связи с кнопками кросс-постинга (в IE даже 8.0 с кодировками лажа, если не делать urlencode, который нормальные браузеры делают сами).
avatar
{$oTopic->getTitle()|urlencode}

Так должно работать.
avatar
Круто, работает! Спасибо большое! Ставлю вам мысленный плюс :-)
avatar
алиас
{$oTopic->getTitle()|escape:'url'}
avatar
И вам спасибо :-)
avatar
  • ort
  • 0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.