Sonata Admin - sonata_type_collection:从现有实体列表中选择

kon*_*rad 4 php symfony doctrine-orm sonata-admin

我正在尝试使用桥实体实现PageImage实体之间的多对多关系PageHasImage.在PageAdmin我添加了这样的字段:

->add(
      'galleryImages', 
      'sonata_type_collection', 
      array(
            'cascade_validation' => false,
            'by_reference' => false,
            'type_options' => array('delete' => false)
           ),
      array(
            'edit' => 'inline',
            'inline' => 'table',
            'sortable' => 'position',
            'admin_code' => 'sonata.admin.page_has_image'
      )
 )
Run Code Online (Sandbox Code Playgroud)

这为我提供了添加新Image字段的选项,然后上传新图片或从上传的图片列表中选择它.上传部分按预期工作,但从已上载的图像列表中选择不执行任何操作.列表中的Select按钮在Images其href中只有"#",似乎没有做任何有用的事情.列出的图像旁边还有复选框,但没有任何操作按钮可以使用选择.

我应该配置什么来使列表上的操作意味着什么?我的猜测是在关系制定者或生命周期事件方法中缺少某些东西,但我会赞赏一些指导.

kon*_*rad 5

好吧,我可以看到这不是一个受欢迎的问题,但是对于任何很快遇到这个问题的可怜的灵魂 - 索纳塔有一个错误.此外,我评价Sonata Admin文档4/10 ...我花了几天时间寻找对奏鸣曲形式的各种配置参数的正确描述,确保我配置错误.度过你生命的好方法,呃.

这是解决方案:https://github.com/sonata-project/SonataDoctrineORMAdminBundle/issues/404

为了完整起见,我会在这里复制它:

在Resources/views/CRUD/edit_orm_many_association_script.html.twig中注释以下行可修复此问题

if (this.nodeName == 'A' && (target.attr('href').length == 0 ||     target.attr('href')[0] == '#')) {
Admin.log('[{{ id }}|field_dialog_form_list_link] element is an anchor, skipping action', this);
return;
Run Code Online (Sandbox Code Playgroud)

}

  • 2/10,我们需要提醒他们API的定义以及如何为它编写文档(甚至生成它!!).以及如何使用cookie或localstorage存储版本号..甚至是sessionstorage! (3认同)