微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OroPlatform:覆盖 Oro 包模板

如何解决OroPlatform:覆盖 Oro 包模板

上下文

我正在尝试覆盖以下模板:vendor/oro/platform/src/Oro/Bundle/OrganizationBundle/Resources/views/BusinessUnit/update.html.twig

此模板似乎属于 OroOrganizationBundle 包。

问题

因此,根据 Symfony 4.X 文档,我尝试将我的覆盖放在以下路径中:templates/bundles/OroOrganizationBundle/BusinessUnit/update.html.twighttps://symfony.com/doc/4.4/bundles/override.html#templates

我已清除缓存:symfony console cache:clear 但没有任何变化。

这是我的覆盖模板:

{% extends 'OroOrganizationBundle:BusinessUnit:update.html.twig' %}

{% block content_data %}
    {% set id = 'business_unit-profile' %}
    {% set dataBlocks = [{
        'title': 'General'|trans,'class': 'active','subblocks': [{
            'title': '','data': [
                form_widget(form.appendUsers,{'id': 'businessUnitAppendUsers'}),form_widget(form.removeUsers,{'id': 'businessUnitRemoveUsers'}),form_row(form.name),form_row(form.parentBusinessUnit),form_row(form.phone),form_row(form.website),form_row(form.email),form_row(form.fax),]
        }]
    }] %}

    {% set dataBlocks = dataBlocks|merge(oro_form_additional_data(form,'Additional Override'|trans)) %}

    {% set dataBlocks = dataBlocks|merge([{
        'title' : 'oro.organization.businessunit.users.label'|trans,'subblocks': [{
            'title' : null,'useSpan': false,'data' : [dataGrid.renderGrid(gridName,{business_unit_id: entityId},{ cssClass: 'inner-grid' })]
        }]
    }] ) %}

    {% set data = {
        'formErrors': form_errors(form)? form_errors(form) : null,'dataBlocks': dataBlocks
    } %}

    {{ parent() }}
{% endblock content_data %}

这是以下命令行的输出symfony console debug:twig | grep Organization

enter image description here

解决方法

最后,我使用 Oro 文档中的这篇文章找到了一个解决方案:https://doc.oroinc.com/frontend/back-office/templates/

我的案例的正确路径是:src/Resources/OroOrganizationBundle/views/BusinessUnit/update.html.twig

我尝试使用 Symfony 文档中的“扩展”方法:https://symfony.com/doc/4.4/bundles/override.html#templates,它只覆盖特定的块部分。就我而言,我需要复制整个文件,但它可以工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。