Symfony2 - ChoiceType - 从没有JS的JSON获取选择列表

时间:2016-12-21 09:22:53

标签: json forms symfony dropdownchoice

我有一个包含所有世界语言的JSON文件,并希望将它们放入ChoiceType表单字段中的选择数组中。

$builder->add('languages', ChoiceType::class, array(
    'choices' => array()
))

我的JSON文件已存储:projectname/web/bundles/index/json/languages.json

是否可以在不编写JS / AJAX的情况下实现它?

P.S。 EventListenersSymfony2提供的其他替代方案非常适合我。

1 个答案:

答案 0 :(得分:1)

您可以使用DIR访问该文件,因为我不知道带有构建器的php文件位于何处,它可能看起来像:

 $builder->add('languages', ChoiceType::class, array(
        'choices' => json_decode(
            //if builder is in controller, this should work
            file_get_contents(__DIR__.'/../../../web/bundles/index/json/languages.json'),
            true)
    ));