1

私は、それぞれに多くのオプションを持つ多くの選択要素を持つ大きなフォームを持っています。すべての翻訳 (ラベル、説明、エラー) はうまく機能しますが、select 要素に表示されるオプションは翻訳したくありません。

公式ガイドには何も書かれていません。次のリンクを確認してください: http://framework.zend.com/manual/1.12/en/zend.form.standardElements.html#zend.form.standardElements.select

ただし、ここでは次のように述べています。 、オプション値は表示のために翻訳されます。"

翻訳アダプターを削除できないので、質問は次のとおりです。この要素オプションを無視することは可能ですか?

あなたのニュースを楽しみにしています。ブラジル

4

2 に答える 2

0

$this->setTranslator(new Zend_Translate_Adapter_Array(array()));フォームの先頭に追加します。これはデフォルトの翻訳者をオーバーライドします。新しい翻訳者は空であるため、何も翻訳されません。

于 2015-04-16T07:13:36.847 に答える
0

Zend_Form_Element_Multi には次のものがあります。

if ($this->translatorIsDisabled()) {
    return false;
}

Zend_Form_Element にはこのメソッドが存在します。

public function setDisableTranslator($flag)
{
    $this->_translatorDisabled = (bool) $flag;
    return $this;
}

そこで、Zend_Form_Element_Select を拡張して呼び出すメソッドを作成しました。

$this->setDisableTranslator(true); 

それは私の質問を解決しました。

于 2015-04-16T08:15:33.447 に答える