Посмотрите на это расширение для механизма шаблонов Smarty: smarty-view-renderer
По сути, вы пишете Компонент для Yii, который реализует IViewRenderer
.Затем переопределите init()
и внедрите renderFile()
, а затем в своем конфигурационном файле main.php
вы установите viewRenderer
в свой класс Component.Примерно так:
'components' => array(
...
'viewRenderer'=>array(
'class'=>'application.extensions.path.to.your.class',
'fileExtension' => '.ext', // file extension to be handled by PHPTAL
//other configurations for your component
),
и он будет работать как шарм.
Но если вы не настаиваете на PHPTAL, Smarty там готов для вас.