Столкнулся с такой ситуацией в Smarty-2.6.18:
- Регистрирую функцию page_file_count($data, $smarty) с помощью register_function().
- Использую её в шаблоне: {page_file_count page_id=$row.id}, функция не возвращает значения.
- Вставляю в самом начале функции page_file_count простое return «123»; — всё равно не возвращает!
- Вставляю в начало функции die(); — не срабатывает! Значит, функция не вызывается.
- Убеждаюсь, что зарегистрировал её правильно: если в register_function() изменить любой из двух параметров — получаем ошибку.
- Подозреваю заговор 🙂
- Думаю…
- Удаляю скомпилированную версию шаблона — заработало!
Как оказалось, Smarty просто использовал скомпилированный шаблон, и все эти разы использовалась первоначальная версия функции page_file_count.
Дополнено: Спасибо за подсказку Gaver’у, в Smarty FAQ нашёл описание этой проблемы, и рекомендацию включить на время разработки опцию $force_compile, чтобы шаблоны перекомпилировались каждый раз.
Если вас интересует получение или продление ВНЖ в Словакии — читайте подробнее об условиях и ценах на сайте parus.sk нашей семейной компании Parus Solutions, которая успешно занимается этим с 2015 года.