使用方法:sonata_type_model_list

时间:2013-06-22 18:05:13

标签: php symfony doctrine sonata-admin

我试图运行此代码:

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上的第4个参数提供的选项edit = list

问题是我完全不知道该怎么做。经过一整天的Google搜索后,我在任何地方都找到了ZERO示例。我想要做的就是用sonata_type_model_list替换edit =>列表。

您能否告诉我如何在上面的代码中执行此操作?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

e.g. 'my_compound' => true,

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