В magento я понял, что мы можем отключить наш модуль двумя способами
- Перейдя в бэкэнд Magento к System> Configuration> Advanced> Disable modules output, мы можем легко отключить некоторые модули.
- В каталоге app / etc / modules, изменив активный тег с true на false.
Могу ли я узнать, в чем точная разница в этих двух техниках? Очень поможет, если кто-нибудь даст более подробный ответ.
Ответы:
System > Configuration > Advanced > Disable
Выход модулей не будет фактически отключать этот модуль. Это работает, как следует из названия, отключить вывод модулей.Когда вы смотрите на
В
Пока
app/etc/modules
полностью отключен модульисточник
Перейдя в бэкэнд Magento к System> Configuration> Advanced> Disable modules output, мы можем легко отключить некоторые модули.
- Это означает, что модуль не будет отображать, не отправляет вывод на экран, но ваш модуль выполняется. Взгляните приложение / код / ядро / маг / ядро / блок / Abstract.php -> toHtml
if (Mage :: getStoreConfig ('advanced / modules_disable_output /'. $ this-> getModuleName ())) {return ''; }
В каталоге app / etc / modules , изменив активный тег с true на false.
---- true / false определить ваш модуль будет загружен или пропустить. Посмотрите
app/code/core/Mage/Core/Model/Config.php
->loadModulesConfiguration
источник
Когда вы просто
Disable Modules Output
, это означает, что модуль не будет ничего отображать на экране, в терминах программирования:_toHtml()
функция ничего не вернет. Все остальное (наблюдатели, переписывает, контролеры) все равно будет выполнено.В идеале, если вы хотите правильно отключить модуль, установите для него значение «Активно»
false
и убедитесь, что никакой другой модуль его не расширяет.источник
Configuration > Current Configuration Scope > Advanced > Advanced > Disable Module Output.
Это действие отключает только вывод модуля, как сказано. Если ваш модуль использует, скажем, некоторые функции Observer для подключения к какой-либо части системы и выполняет некоторые переопределения, то эти действия не будут отключены.Чтобы полностью отключить модуль, вам нужно перейти в файл конфигурации модуля, например
/etc/NAMESPACE_MyModule.xml
, и установить для его активного параметра значение false, например:источник
«Отключить вывод модулей» отключает только вывод блока, определенный расширением. Он не пропускает выполнение модуля своим кодом, если, например, для него определены наблюдатели.
источник