1

我想在我的MyType表单locale字段中添加,所以我输入:

$builder->add('locale', 'locale', array(
  'label'       => 'user.locale',
  'required'    => true,
));

但是,它为我提供了可用语言环境的完整列表,因为choices这种类型的默认数组是:

'choices' => Intl::getLocaleBundle()->getLocaleNames()

我只想显示en,depl。如何将输出限制为这些语言?

最好的解决方案是在config.yml.

4

2 回答 2

0

“选择选项默认为所有语言环境。” 在http://symfony.com/doc/master/reference/forms/types/locale.html

明确指定您的选择,例如。'choices'=>array('en'=>'en','de'=>'de','pl'=>'pl')

于 2013-10-23T12:24:04.180 回答
0

用这个:

$builder->add('locale', 'locale', array(
    'label'     => 'user.locale',
    'required'  => true,
    'choices'   => array('en' => 'English', 'de' => 'Deutsch', 'pl' => 'Polish')
));

请参阅文档以从配置中获取这些值。

编辑:感谢 Djuro Mandinic 在我之前的回答中指出错误,choices数组必须包含键和值。

于 2013-10-23T12:18:33.520 回答