Моя функция связана с концепцией Переопределение видов бэк-офиса
Как сказано в документации, чтобы переопределить шаблон администратора в модуле, нам нужно :
- Найден правильный шаблон (с использованием панели инструментов отладки)
- Создайте тот же путь (modules / mod_name / view / PrestaShop / ... / ...) и добавьте представление
- Обратитесь к исходному шаблону с использованием аннотации .
- Обратитесь к существующему блоку, используя аннотацию block .
Basi c Пример 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 %}
Итак, переопределение представлений в бэк-офисе работает как шарм.
Но давайте представим себе этот вариант использования :
- У нас есть модуль A , который переопределяет бэк-офис и использует блок ( ex: block product_catalog_filters ).
- Мы хотим установить новый модуль B , который отменяет тот же вид вспомогательного офиса и тот же блок ( ex: block product_catalog_filters ).
Здесь у нас проблема: последний установленный модуль ( Модуль B ) переопределяет представление бэк-офиса. Но все переопределения из модуля A будут потеряны.
Я нашел решение. Но для меня это не очень хорошая практика.
Мы можем добавить пользовательский блок в желаемый вид бэк-офиса Prestashop. ( Поэтому нам нужно написать код в основном файле Prestashop ).
Если мы сделаем это, наш модуль сможет переопределить представление бэк-офиса и вызвать наш пользовательский блок.
С помощью этого пользовательского блока мы уверены, что только наш модуль собирается переопределить представление и избежать конфликта переопределения с потенциальными другими модулями.
Вам известен какой-либо другой способ сделать переопределение без необходимости писать код в файл ядра Prestashop?