Модуль B отменяет модуль A - PullRequest
0 голосов
/ 25 октября 2019

Недавно я исправил ошибку в модуле A, которая будет сохранять обновления от поставщика, и я не могу напрямую изменить модуль A.

Поэтому я хочу построить модуль B для переопределения модуля A.

Какие файлы я хочу переопределить

/etc/di.xml (Modify) 
/Model/ResourceModel/Log/Grid/Collection.php (New create) 
/Model/ResourceModel/Log/Log.php (Modify) 
/view/adminhtml/ui_component/xxxxxxxx_listing.xml (Modify) 

Каков наилучший способ сделать это? Спасибо.

1 Ответ

0 голосов
/ 25 октября 2019

Создайте модуль, и для него внутри di.xml вы можете установить <preference for>, чтобы переопределить класс, который определен где-то еще. Например:

<preference for="Original\Module\Model\ResourceModel\Log\Log\Log" type="Your\Module\Model\ResourceModel\Log\Log" />

Я считаю, что любые изменения в di.xml должны быть в состоянии переопределить di.xml в других модулях, когда ваш модуль загружается после другого модуля. То же самое с xxxxxxxx_listing.xml, если вы поместите его по тому же пути, что и в другом модуле, он будет переопределен.

Добавление исходного модуля в качестве зависимости от вас обеспечит загрузку вашего модуля после. Таким образом, ваш module.xml будет иметь подобную часть внутри:

<sequence>
    <module name="Original_ModuleName"/>
</sequence>

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...