tjtjtjのメモ

自分のためのメモです

yiiext/twig-rendererのビューでメッセージを扱いたい

これをどうするか

<?php echo Yii::t('yii','{attribute} is invalid.', array('{attribute}'=>'hoge')); ?>

Yii クラスをアクセス可能にする

Yiiクラス を globals に登録する

protected/config/main.php

        'viewRenderer'=>array(
            'class'=>'ext.etwigviewrenderer.ETwigViewRenderer',
            'globals' => array(
                'Yii' => 'Yii',
            ),
        ),

ビュー

{{ Yii.t('yii','{attribute} is invalid.', {'{attribute}':'hoge'}) }}

あるいは Yii::t メソッドをアクセス可能にする

Yii::tメソッド を functions に登録する

config/main.php

        'viewRenderer'=>array(
            'class'=>'ext.etwigviewrenderer.ETwigViewRenderer',
            'functions' => array(
                't' => 'Yii::t',
            ),
        ),

ビュー

{{ t('app','{attribute} is invalid.', {'{attribute}':'hoge'}) }}


どちらも Yii::t と短かったのでお得感は少ないかな。