为 Sonata Admin 包配置自定义模板
Posted
技术标签:
【中文标题】为 Sonata Admin 包配置自定义模板【英文标题】:Configure custom template for Sonata Admin bundle 【发布时间】:2016-06-25 13:28:29 【问题描述】:我为create
操作创建了一个自定义模板,我尝试按照文档中的说明进行配置:
article.admin.article:
class: ArticleBundle\Admin\ArticleAdmin
arguments: [~, ArticleBundle\Entity\Article, "ArticleBundle:ArticleAdmin"]
tags:
- name: sonata.admin, manager_type: orm, group: admin, label: Article
calls:
- [ setTemplate, [create, "ArticleBundle:ArticleAdmin:ArticleBundle"]]
我的新 create.html.twig 模板在目录中:src\ArticleBundle\Resources\views\ArticleAdmin\ArticleBundle
当我加载创建页面时,我仍然得到默认模板,而不是我配置的模板。
有什么问题?
【问题讨论】:
你清除缓存了吗?例如在生产环境中:php app/console --env=prod cache:clear
已经尝试清除缓存但同样的问题
我发现没有 create 模板,它是用于创建和编辑操作的编辑模板,所以我怎样才能有不同的模板,一个用于创建和另一个用于编辑?
我有同样的错误
【参考方案1】:
在:
group: admin, label: Article
您缺少双引号。应该是:
group: "admin", label: "Article"
setTemplate
的调用应该是:
calls:
- [ setTemplate, [create, "ArticleBundle:ArticleAdmin:ArticleBundle/create.html.twig"]]
请参阅 Sonata 管理员templates 参考。
【讨论】:
以上是关于为 Sonata Admin 包配置自定义模板的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Sonata Admin(Symfony 3.3、PHP 7)中使用自定义 javascript 为模态窗口扩展模板?
Sonata Admin Bundle - 表单类型:sonata_type_collection - 自定义模板?