我正在尝试使用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'
)
)
它为我提供了添加新Image
字段的选项,然后上传新图片或从上传图片列表中选择它。上传部分按预期工作,但从已上载的图像列表中选择不执行任何操作。 Select
列表中的Images
按钮在其href中只有'#',似乎没有做任何有用的事情。列出的图像旁边还有复选框,但没有任何操作按钮可以使用选择。
我应该配置什么来使列表上的操作意味着什么?我的猜测是在关系制定者或生命周期事件方法中缺少某些东西,但我会赞赏一些指导。
答案 0 :(得分:5)
好吧,我可以看到它并不是一个受欢迎的问题,但是对于任何很快遇到这个问题的可怜的灵魂来说 - 索纳塔有一个错误。此外,我评价Sonata管理员文档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;
}