[РЕШЕНО] Overrides

В админке нужно переопределить файл заказов, но его уже переопределил другой модуль. Как быть?

И вопрос к знатокам:
Пишу модуль. Как сделать так, чтобы сначало проверить если файл переопределен другим модулем, то переопределить файл у этого модуля, а если файл не переопределен, то переопределить файл системы?

Переопределите оба. Smarty всё сделает за Вас.

Подскажите, а как переопределить шаблон у другого модуля?

Можно попробовать оверрайд /overrides/addons/ADDON_ID/overrides/views/orders/...
Или просто выставить бОльший приоритет чем у второго модуля

Странно, ни то ни то не помогает…

Сделайте приоритет меньше

1 лайк

Нет результата.

Приоритет в файле addon.xml

“priority"100”/priority"

версия 4.11

?

Приоритет для установленных модулей хранится в базе. Или изменяйте в базе, или переустанавливайте модуль.

1 лайк

Изменил в базе. Приоритет ставил и выше и ниже. Результат нуль.

Кэш удалите, это дело кешируется еще

1 лайк

Ребята Спасибо! В базе прописал приоритет, обновил кеш! И… Я переопределил файл, так сказать первым!

Но!

Дело в том, что так как я переопределил первым, получил контроль над файлом. А тот модуль который переопределял раньше, делал полезные действия. Сейчас он это не может сделать.

Переформулирую задачу: Как мне переопределить именно файл модуля, который уже переопределил файл ядра?

Если Вы переопределите его, то тоже ничего не будет сделано. Суть переопределения - это выбор по какому пути взять файл для генерации, не будет создаваться 3 контента, всё-равно отработает только Ваш.

Суть такая, я знаю что мой модуль будет расширять возможности того модуля, у которого я хочу переопределить файл. Я его скопирую, его возможности остануться, а я без изменения того модуля, напишу то, что нужно мне…

Проблема в том, что никак не получается его переопределить…

путь до файла для переопределения использую такой:
/design/backend/templates/addons/combine_orders/overrides/addons/my_changes/overrides/views/orders/manage.tpl

combine_orders - мой
my_changes - пример

Вам остается только взять изменения из модуля my_changes и вставить их в свой шаблон, обернув таким кодом

{if $addons.my_changes.status == 'A'}
     .. код из стороннего модуля...
{/if}

По-другому никак

1 лайк

А как вообще можно узнать какой модуль переопределяет файл?

Боюсь, что такого механизма нет