我们如何覆盖单个管理类的奏鸣曲捆绑布局,就像我创建了 3 个管理类 userAdmin、productAdmin、ticketAdmin 现在我想覆盖 ticketAdmin 编辑操作和编辑模板并在那里添加一些额外的代码。
问问题
9263 次
2 回答
14
您可以使用 :
控制器 :
模板 :
// in your admin class
public function getTemplate($name)
{
switch ($name) {
case 'edit':
return 'AcmeMyBundle::my-custom-edit.html.twig';
break;
default:
return parent::getTemplate($name);
break;
}
}
于 2012-08-29T13:10:37.453 回答
7
如果您不想创建额外的控制器,可以使用文档中提到的此方法:
管理员文档 - 参考 - 模板(主) - 20.6。配置模板
services:
sonata.admin.post:
class: Acme\DemoBundle\Admin\PostAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: "Content", label: "Post" }
arguments:
- ~
- Acme\DemoBundle\Entity\Post
- ~
calls:
- [ setTemplate, [edit, AcmeDemoBundle:PostAdmin:edit.html.twig]]
并将您的模板放在Resources/views/PostAdmin/edit.html.twig中。只需从 SonataAdmin Bundle 复制原始模板并开始覆盖。
于 2014-08-25T14:24:52.333 回答