3

我正在尝试运行此代码:

if(!$this->isChild()) {
        $formMapper->add('post', 'sonata_type_model', array(), array('edit' => 'list'));

从本教程:http ://sonata-project.org/bundles/doctrine-orm-admin/2-1/doc/tutorial/creating_your_first_admin_class/defining_admin_class.html

我知道您必须从 2.1 开始使用 sonata_type_model_list

sonata_type_model_list :此类型替换作为 sonata_type_model 的第四个参数提供的选项 edit = list

问题是我完全不知道该怎么做。经过一整天的谷歌搜索,我在任何地方都找到了零个例子。我要做的就是用 sonata_type_model_list 替换 edit=>list。

你能告诉我如何在上面的代码中做到这一点吗?

4

1 回答 1

2

这就是我在代码中使用它的方式。但是它不适用于所有浏览器。当我选择标记实体时,父视图中的表单值不会更新(FireFox 和 IE)。

$formMapper->
...
->add('image', 'sonata_type_model_list', 
       array(
           'compound' => true,
           'by_reference' => true
            )
      )
...

我还发现很难找到一些关于如何使用这种类型的教程/示例。你能做的最好的事情就是浏览他们的源代码。这非常耗时。

我发现如何配置这些表单类型的一种方法是提供错误的参数。

e.g. 'my_compound' => true,

这将导致错误告诉您“my_compound”不是有效参数,并且还会显示有效参数列表。希望这可以帮助!

于 2013-07-05T07:33:43.100 回答