Использование нескольких шаблонизаторов в одном приложении

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
maratk
Сообщения: 2
Зарегистрирован: 2013.08.24, 19:32

Использование нескольких шаблонизаторов в одном приложении

Сообщение maratk »

Возникло желание использовать одновременно в одном приложении шаблонизаторы mthaml, twig, и нативные php шаблоны.
Для этих шаблонизаторов есть свои расширения для фреймворка - http://yiiext.github.io/extensions/renderers.html, подключение стандартное - настраиваем компонент viewRenderer указав класс обработчика шаблонов.
Столкнулся со следующей проблемой, не могу подключить больше одного стороннего шаблонизатора, т.е. конфиг компонента выглядит так:

Код: Выделить всё

'components' => [
    'viewRenderer' => [
        'class' => 'path.to.twig.renderer.class',
        // some options ...
    ],
],
т.е. я подключил twig шаблонизатор, но куда теперь подключать mthaml шаблонизатор не заменяя twig не понятно.

Насколько я понял в yii это не предусмотрено, я предполагаю следующую реализацию:

Код: Выделить всё

'components' => [
    'viewRenderers' => [
        [
            'class' => 'path.to.twig.renderer.class',
            'format' => 'twig',
            // some options ...
        ],
        [
            'class' => 'path.to.haml.renderer.class',
            'format' => 'haml',
            // some options ...
        ],
    ],
],
есть ли в yii функциональность чтобы решить мою задачу? или расширение которое позволяет это реализовать?
mass
Сообщения: 71
Зарегистрирован: 2011.11.09, 15:03
Откуда: Москва
Контактная информация:

Re: Использование нескольких шаблонизаторов в одном приложен

Сообщение mass »

ммм.... а нафига?
Минусы:
1. Чрезмерное несоответствие единому стилю, который должен быть в любом проекте.
2. Сложность поддержки сторонними разработчиками.
3. Как указать, какой рендер должен обрабатывать вью? А если внутри вью грузиться другой вью с другим шаблонизатором? переопределять рендер-методы? Головная боль обеспечена.
4. to do...
Плюсы:
- нет
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Использование нескольких шаблонизаторов в одном приложен

Сообщение futbolim »

Отсюда: https://github.com/arnaud-lb/MtHaml
Multi target HAML
MtHaml is a PHP implementation of the HAML language which can target multiple languages.
Currently supported targets are PHP and Twig, and new ones can be added easily.
П.С. Обожаю, когда люди создают аккаунты для таких вопросов ^^
maratk
Сообщения: 2
Зарегистрирован: 2013.08.24, 19:32

Re: Использование нескольких шаблонизаторов в одном приложен

Сообщение maratk »

3. Как указать, какой рендер должен обрабатывать вью?
по расширению файла, собственно мне как раз и нужен такой функционал в yii , чтобы можно было мешать разные вьюхи в одном приложении, а в yii как я вижу только два рендера одновремено можно использовать без доработки, нативный и один любой сторонний
Ответить