我的功能与 Overriding Back office views
的概念有关就像文档中所说的那样,要覆盖模块中的管理模板,我们需要:
基本的Hello World示例:
// Refer to the original template this the extends annotation.
{% extends 'PrestaShopBundle:Admin/Product/CatalogPage:catalog.html.twig' %}
//Refer to an existing block using block annotation.
{% block product_catalog_filters %}
Hello world!
{% endblock %}
好吧,覆盖后台视图的工作就像一种魅力。
但是让我们想象一下这个用例:
这是一个问题,最后安装的模块(模块B )将覆盖后台视图。但是所有来自 Module A 的替代都将丢失。
我找到了解决方案。但是对我来说,这不是一个好习惯。
我们可以在所需的Prestashop后台视图中添加自定义块。 (所以我们需要在Prestashop核心文件中编写代码。)
如果这样做,我们的模块可以覆盖后台视图并调用自定义块。
使用此自定义块,我们可以确保仅我们的模块将覆盖视图,并避免与潜在的其他模块发生覆盖冲突
您是否知道有其他方法可以执行重写而不必在Prestashop核心文件中编写代码?