小枝パターンでメソッド Yii::t() を渡すにはどうすればよいですか?
使えるように。
例えば:
{{Yii.t('main', 'some_text')}}
私はすでに自分自身を理解しています。
誰が
役に立つか: ファイル内: / 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}) } }
'viewRenderer' => array(
'class' => 'ext.yiiext.renderers.twig.ETwigViewRenderer',
'registerAutoloader' => false,
'globals' => array(
'html' => 'CHtml'
),
'functions' => array(
't' => 'Yii::t',
),
),
次に、小枝ファイルで t('main', 'Some text') を使用できます
@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' に注意してください。