You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.6 KiB

Yii2 view renderers
===================
By default Yii uses PHP as template language but you can change it in your application.
The component responsible for rendering a view is called `view`. You can configure
a custom template engine as follows:
```php
array(
'components' => array(
'view' => array(
'class' => 'yii\base\View',
'renderer' => array(
'class' => 'yii\renderers\TwigViewRenderer',
// or 'class' => 'yii\renderers\SmartyViewRenderer',
),
),
),
)
```
Twig
----
In order to use Twig you need to put you templates in files with extension `.twig`.
Also you need to specify this extension explicitly when calling `$this->render()`
or `$this->renderPartial()` from your controller.
Smarty
------
In order to use Smarty you need to put you templates in files with extension `.tpl`.
Also you need to specify this extension explicitly when calling `$this->render()`
or `$this->renderPartial()` from your controller.
Using multiple view renderers in a single application
-----------------------------------------------------
If you need multiple view renderers at the same time in a single application you
can use `CompositeViewRenderer` as follows:
```php
'components' => array(
'view' => array(
'class' => 'yii\base\View',
'renderer' => array(
'class' => 'yii\renderers\CompositeViewRenderer',
'renderers' => array(
'tpl' => array(
'class' => 'yii\renderers\SmartyViewRenderer',
),
'twig' => array(
'class' => 'yii\renderers\TwigViewRenderer',
),
),
//'class' => 'yii\renderers\TwigViewRenderer',
),
),
),
```