kon*_*rad 4 php symfony doctrine-orm sonata-admin
我正在尝试使用桥实体实现Page
与Image
实体之间的多对多关系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中只有"#",似乎没有做任何有用的事情.列出的图像旁边还有复选框,但没有任何操作按钮可以使用选择.
我应该配置什么来使列表上的操作意味着什么?我的猜测是在关系制定者或生命周期事件方法中缺少某些东西,但我会赞赏一些指导.
好吧,我可以看到这不是一个受欢迎的问题,但是对于任何很快遇到这个问题的可怜的灵魂 - 索纳塔有一个错误.此外,我评价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)
}