cod*_*boy 2 symfony sonata-admin
我想基于每个管理员/实体覆盖CRUD列表模板.
假设我有一个名为Admin的类MyAdminClass.我想覆盖该类的CRUD列表模板,但不是通过添加模板来覆盖整个应用程序app/Resources/SonataAdminBundle/Views/CRUD.我怎样才能做到这一点?
另外,我如何覆盖一组模板而不是一组?
Wou*_*r J 11
形成文件:
如果您愿意,可以基于每个管理映射指定自定义模板.在内部,CRUDController从Admin类实例中获取此信息,因此您可以指定要在Admin服务定义中使用的模板:
XML:
Run Code Online (Sandbox Code Playgroud)<service id="sonata.admin.post" class="Acme\DemoBundle\Admin\PostAdmin"> <tag name="sonata.admin" manager_type="orm" group="Content" label="Post"/> <argument /> <argument>Acme\DemoBundle\Entity\Post</argument> <argument /> <call method="setTemplate"> <argument>edit</argument> <argument>AcmeDemoBundle:PostAdmin:edit.html.twig</argument> </call> </service>YAML:
Run Code Online (Sandbox Code Playgroud)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]]
使用示例setTemplates:
XML:
<service id="sonata.admin.post" class="Acme\DemoBundle\Admin\PostAdmin">
<!-- ... -->
<call method="setTemplates">
<argument type="collection">
<argument key="edit">
AcmeDemoBundle:PostAdmin:edit.html.twig
</argument>
<argument key="list">
AcmeDemoBundle:PostAdmin:list.html.twig
</argument>
</argument>
</call>
</service>
Run Code Online (Sandbox Code Playgroud)
YAML:
services:
sonata.admin.post:
# ...
calls:
- [setTemplates, [{edit: AcmeDemoBundle:PostAdmin:edit.html.twig, list: AcmeDemoBundle:PostAdmin:list.html.twig }]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3763 次 |
| 最近记录: |