Задать вопрос

Как вызвать хелпер в шаблоне Twig?

Всем привет!

Я использую twig в качестве шаблонизатора. Обычные методы можно вызвать object.method, но это не работает для статичных методов. Кто сталкивался с такой задаче?

Сам модуль – github.com/tommcdo/kohana-twig
  • Вопрос задан
  • 3497 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@corelab Автор вопроса
Решил! Пока с хардкодом. Создаём класс в папке /application/classes/Twig.php:
<?php defined('SYSPATH') or die('No direct script access.');

class Twig extends Kohana_Twig {

    protected static function env()
    {
        // Instantiate the base Twig environment from parent class.
        $env = parent::env();

        // Customize as needed.
        $env->addFunction('base_url', new Twig_Function_Function('URL::base'));

        return $env;
    }

} // End Twig


В шаблоне вызываем хелпер:
{% block content %}
   {{ base_url() }}
{% endblock %}


Результатом будет – /kohana/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
return
@return
Twig очень кастомизируемый, можно написать свой экстеншен, в который добавить своих функций, фильтров, постобработчиков, да чего угодно.
Даже базовые функции Twig выделены в нем в экстеншен Core, можно посмотреть как он сделан. И документацию почитать, она очень краткая и понятная.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы