我一直在创建一个应用程序,准备它已经国际化。但是当我尝试这样做时:
echo $this->Form->input('end_date', array('label' => __('End Date'), 'dateFormat' => 'DMY', 'minYear' => date('Y'), 'type' => 'text'));\
它回应了两个“结束日期”。我尝试通过将标签设置为null来禁用标签,但也没有用。 :(
我怎样才能避免这种情况发生?
由于
答案 0 :(得分:2)
而不是NULL,请尝试将其设置为false:
'label' => false
您还可以使用以下方法将表单的所有输入设置为'label'=>false
:
'inputDefaults'=> array('label'=>false)
作为表单的选项
答案 1 :(得分:1)
对于它的价值,__()
函数默认回显其值而不是返回它。这就是你看到标签显示两次的原因。它被显示一次,因为这是字段名称自动解析的值。它是由__()
方法第二次显示的。换句话说,您的label
选项并未真正覆盖自动标签。
echo $this->Form->input(
'end_date',
array(
'label' => __('Modified End Date Label', true), # note the "true" argument
'dateFormat' => 'DMY',
'minYear' => date('Y'),
'type' => 'text'
)
);
有关详情,请参阅__ documentation。