我在 SonataAdminBundle 中制作管理面板。在用户显示操作中,我有字段公司返回分配给用户的公司数组。这是一个 OneToMany 关系。UserCompany 有 user_id 和 company_id。我想在每个返回的公司名称上创建链接,指向它的实体显示操作。这是 UserAdmin 类中 configureShowFields() 函数的代码:
->with('Assigned organizers',['class' => 'col-md-6'])
->add('companies', null, [
'label' => 'Organizers',
])
->end()
我设法在指向显示实体操作的字符串字段上创建了一个链接,但 id 属性取自当前实体视图:
->with('Address', ['class' => 'col-md-6'])
->add('userProfile.locality', 'url', [
'route' => [
'name' => 'admin_app_employee_show',
'identifier_parameter_name' => 'id'
],
'label' => 'Localiy',
])
更重要的是索纳塔管理员在相关字段上创建链接,当关系是直接的时,例如:公司有很多员工。然后在 Company show action on employees 字段中,我看到带有链接的数组已经指向编辑员工实体的操作。
也许有可能覆盖该字段的模板,但对我来说似乎不清楚,因为文档缺乏更高级的示例。这就是我尝试测试覆盖字段模板的方式:
->add('userProfile.street', null, array(
'label' => 'Street',
'template' => 'custom-field.html.twig',
))
模板位置:App/templates/Admin/
任何帮助表示赞赏