Magento убедитесь, что конфигурация модуля загружена последней


Есть ли способ гарантировать, что модуль и его конфигурационный xml загружаются последними в Magento или, по крайней мере, после определенного другого модуля?

Я хочу избежать использования тега <depends>, потому что может быть не 100%, что модуль, после которого я хочу загрузить свою конфигурацию, будет установлен.

Author: Marty Wallace, 2013-05-06

1 answers

Из того, что я читаю, единственный способ сделать это - использовать тег depends, даже если вы сделали имя своего модуля ZZZ... Список модулей переупорядочивается после извлечения на основе зависимостей...

Функция Mage_Core_Model_Config::_loaddeclaredmodules сканирует каталог etc/modules и загружает XML-файлы, расположенные там. Эти файлы содержат объявления модулей. Перед загрузкой их содержимого система упорядочивает их в определенном порядке. Первый файл в этом списке является Mage_All.xml . Модули, объявленные в этом файле , содержат основные функциональные возможности Magento. Далее в строке находятся файлы деклараций чьи имена начинаются с Mage_. Объявленные модули также являются частью ядра Magento, но часто зависят от модулей из Mage_All.xml файл и, следовательно, должен быть загружен после них. Остальная часть списка - объявления сторонних модулей: модулей сообщества и ваших локальных расширений. Как только список будет составлен, Magento извлекает файлы в том порядке, в котором они перечислены, и загружает их содержимое в объект типа Mage_Core_Model_Config_Base – объект конфигурации приложения, который запрашивает Magento всякий раз, когда запрашивается запись конфигурации. Загруженную конфигурацию необходимо заказать еще раз – на этот раз в соответствии с зависимостями модулей.

 11
Author: Jeffrey L. Roberts, 2018-05-11 18:39:15