【问题标题】:Sonata Admin Bundle - Custom TemplateSonata Admin Bundle - 自定义模板
【发布时间】:2018-07-22 20:25:32
【问题描述】:

我想定制我的模板。

service.yml:

admin.globaux:
        class: AppBundle\Admin\ParametreAdmin
        arguments: [~, AppBundle\Entity\ParametreEntity, ~]
        tags:
            - { name: sonata.admin, manager_type: orm, group: Options, label: Globaux}
        calls:
            - [ setTemplate, [list, "@SonataAdmin/CRUD/Special/list_parametre_globaux.html.twig"]]
        public: true

list_parametre_globaux.html.twig:

{% extends base_template %}

    <div>
        {{ object.pourcentageMise }}
    </div>

我有这个错误:

(1/1) ServiceNotFoundException 服务“admin.globaux”依赖于不存在的服务“SonataAdmin/CRUD/Special/list_parametre_globaux.html.twig”。

我不明白为什么它不起作用。

感谢您的帮助

【问题讨论】:

  • 您使用的是哪个奏鸣曲管理版?

标签: php templates bundle sonata


【解决方案1】:

您正在尝试调用服务,这就是您的消息错误所说的。

calls:
    - [ setTemplate, [list, "@SonataAdmin/CRUD/Special/list_parametre_globaux.html.twig"]]

“@”语法是为服务注入而设计的。

这就是你应该如何编写你的模板调用:

calls:
    - [ setTemplate, [list, "SonataAdminBundle:CRUD/Special:list_parametre_globaux.html.twig"]]

这意味着您的自定义模板位于

vendor/sonata-admin/admin-bundle/Resources/views/CRUD/Special/list_parametre_globaux.html.twig

将文件放在vendor文件夹不是一个好主意,你应该把它放在

src/AppBundle/Resources/views/CRUD/Special/list_parametre_globaux.html.twig

那么你在 service.yml 中的模板调用将是

calls:
    - [ setTemplate, [list, "AppBundle:CRUD/Special:list_parametre_globaux.html.twig"]]

另外,在文件 list_parametre_globaux.html.twig 中,您不应该

{% extends base_template %}

但是

{% extends 'SonataAdminBundle:CRUD:base_list.html.twig' %}

这是用于列表操作的树枝模板。 如果您检查位于

的原始模板
vendor/sonata-admin/admin-bundle/Resources/views/CRUD/base_list.html.twig

你会看到不同的方块。您可以通过在自定义树枝模板中编写一些代码来覆盖每个块。

{% block name_of_block %}
{% endblock name_of_block}

如果你只想添加东西而不是覆盖整个块,你可以这样做

{% block name_of_block %}
    enter code here
    {{parent ()}}
{% endblock name_of_block}

最后,如果您只想覆盖块的一部分,那么您必须将整个 base_block 复制/粘贴到您的自定义树枝模板中,然后重写特定部分。

【讨论】:

    猜你喜欢
    • 2012-07-15
    • 2013-09-06
    • 1970-01-01
    • 2016-06-25
    • 2014-01-29
    • 2018-09-27
    • 2013-12-19
    • 2016-09-03
    • 1970-01-01
    相关资源
    最近更新 更多