Переопределить Модуль, Если Он Существует


Я рассматриваю возможность создания модуля, который поможет разрешить конфликтные ситуации между несколькими имеющимися у нас модулями. Что я надеялся сделать, так это создать модуль, который мог бы переопределять, скажем, 4 модуля, но все равно работал бы, даже если бы были установлены только 3 из этих модулей.

Насколько я понимаю, единственный способ контролировать, загружается ли модуль после другого, - это сделать его зависимым от этого модуля, но, очевидно, в данном случае это не сработает, поскольку модули, от которых он зависел, необязательно будут установлены. Поэтому мне было интересно, есть ли способ, отличный от зависимости, чтобы убедиться, что модуль следует за другим, но вместо того, чтобы предыдущий модуль был обязательным требованием, он просто проверяет, установлен ли он, и игнорирует его, если нет

Author: David Morning, 2014-10-06

1 answers

Невозможно изначально иметь динамические зависимости от нескольких расширений в расширении в Magento. Если вы действительно хотите сделать такое динамическое применение зависимости, вам нужно будет отредактировать Mage_Core_Model_Config::_loadDeclaredModules(), чтобы проверить наличие расширений в узле depends.

Тем не менее, в нем по-прежнему возникают проблемы с переопределением класса полного списка в вашем расширении разрешения, в то время как некоторые из родительских классов могут не существовать, переопределяя или неправильно редактируя важный класс, Mage_Core_Model_Config, и необходимость полностью определить последствия внесения такой модификации и т.д.

Я думаю, что было бы более полезно создать расширение разрешения, соответствующее конкретной проблеме вашего экземпляра Magento, вместо того, чтобы пытаться сделать его универсальным. Все возможные проблемы, с которыми вам приходится иметь дело, не стоят того, что вы пытаетесь сделать.

 0
Author: musicliftsme, 2014-10-06 17:50:32