1

common/messages/en-Us/frontend/quicksignupに次のような翻訳可能な文字列があります。

return [
    'AcceptTermsAndConditionLabel' => 'I confirm that I am more than 13 years old and accept the {terms and condition}, and {privacy policy} of this website',
];

の QuickSignupFormモデルは次のようになります。

public function attributeLabels()
{
     return [
        'AcceptTermsAndCondition'   => Yii::t('frontend/quicksignup','AcceptTermsAndConditionLabel'),

     ];
}

次のコンテンツをレンダリングします。

I confirm that I am more than 13 years old and accept the {terms and condition}, and {privacy policy} of this website

{terms and condition}{privacy policy}をリンクに置き換えたい。しかし、翻訳可能なファイル、つまりcommon/messages/en-Us/frontend/quicksignupでそれを行おうとすると、文字列としてレンダリングされます。

以下は、出力のスクリーンショットです。リンクをレンダリングするにはどうすればよいですか? 何か案は?

ここに画像の説明を入力

4

1 に答える 1

2

私は解決策を見つけます。labelメソッドを使用してオプションActiveFieldを設定しformat=>rawます。次のようなコード:

<?= $form->field($model, 'rememberMe')->checkbox()->label(Yii::t('app', 'I confirm that I am more than 13 years old and accept the {terms and condition}, and {privacy policy} of this website', ['privacy policy'=>
        Html::a('111', '/asd/')]), ['format' => 'raw']) ?>

このソリューションにはマイナスが1つあります。ラベルを 2 回設定する必要があります: モデル内とフォーム内です。

于 2015-04-13T11:06:24.397 に答える