不翻译 Zend Framework 1 中的 select 个选项
Not translate select options in Zend Framework 1
我有一个很大的表单,其中包含很多 select 个元素,每个元素都有很多选项。所有翻译都很好(标签、描述、错误),但我不想翻译 select 元素中显示的选项。
官方指南没有说明,请查看以下内容link: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 "If a translation adapter is registered with the form and/or element, option values will be translated for display purposes. "
我无法删除翻译适配器,所以我的问题是:是否可以忽略此元素选项?
期待你的消息。
BR
在表单开头添加 $this->setTranslator(new Zend_Translate_Adapter_Array(array()));
。这将覆盖默认翻译器,因为新翻译器是空的,所以它不会翻译任何东西。
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);
这解决了我的问题。
我有一个很大的表单,其中包含很多 select 个元素,每个元素都有很多选项。所有翻译都很好(标签、描述、错误),但我不想翻译 select 元素中显示的选项。
官方指南没有说明,请查看以下内容link: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 "If a translation adapter is registered with the form and/or element, option values will be translated for display purposes. "
我无法删除翻译适配器,所以我的问题是:是否可以忽略此元素选项?
期待你的消息。 BR
在表单开头添加 $this->setTranslator(new Zend_Translate_Adapter_Array(array()));
。这将覆盖默认翻译器,因为新翻译器是空的,所以它不会翻译任何东西。
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);
这解决了我的问题。