2

小枝パターンでメソッド Yii::t() を渡すにはどうすればよいですか?
使えるように。
例えば:

{{Yii.t('main', 'some_text')}}  
4

3 に答える 3

4

私はすでに自分自身を理解しています。
誰が
役に立つか: ファイル内: / protected / extensions / ETwigViewRenderer.php を init 関数に追加:

$Yii = 新しい ETwigViewRendererStaticClassProxy ('Yii');
$this->_twig-> addGlobal ('lang', $Yii);

Twig テンプレートでは、次のように使用されます。

{{lang.t ('main', 'Login') }}
{{lang.t ('main', 'Logout ({username})',{'{username}': App.user.name}) } }

于 2012-07-27T08:55:30.677 に答える
3
'viewRenderer' => array(
        'class' => 'ext.yiiext.renderers.twig.ETwigViewRenderer',
        'registerAutoloader' => false,
        'globals' => array(
            'html' => 'CHtml'
        ),
        'functions' => array(
            't' => 'Yii::t',
        ),
    ),

次に、小枝ファイルで t('main', 'Some text') を使用できます

于 2013-11-29T09:35:17.133 に答える
0

@extends Eugene の回答。

構成でグローバルを定義し、拡張ファイルを編集しない方が良い:

'view' => [
            'class' => 'yii\web\View',
            'renderers' => [
                'twig' => [
                    'class' => 'yii\twig\ViewRenderer',
                    'cachePath' => '@runtime/Twig/cache',
                    // Array of twig options:
                    'options' => [
                        'auto_reload' => true,
                    ],
                    'globals' => ['html' => '\yii\helpers\Html', 'lang' => 'Yii'],
                    'uses' => ['yii\bootstrap'],
                ],
            ],
        ],

'globals' セットアップの 'lang' => 'Yii' に注意してください。

于 2016-07-23T20:53:07.133 に答える