1

我有一个很大的表格,里面有很多选择元素,每个元素都有很多选项。所有翻译都运行良好(标签、描述、错误),但我不想翻译选择元素中显示的选项。

官方指南对此一无所知,请查看以下链接: http: //framework.zend.com/manual/1.12/en/zend.form.standardElements.html#zend.form.standardElements.select

但是这里它说:http://framework.zend.com/manual/1.12/en/zend.form.standardElements.html#zend.form.standardElements.multiselect “如果翻译适配器注册了表单和/或元素, 选项值将被翻译用于显示目的。"

我无法删除翻译适配器,所以我的问题是:是否可以忽略此元素选项?

期待着你的消息。BR

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 回答