En magento llegué a saber que podemos desconectar nuestro módulo de dos maneras
- Al navegar en el backend de Magento a Sistema> Configuración> Avanzado> Desactivar salida de módulos, podemos desactivar fácilmente ciertos módulos.
- En la aplicación de directorio / etc / modules, cambiando la etiqueta activa de verdadero a falso.
¿Puedo saber cuál es la diferencia exacta en estas dos técnicas? Es de gran ayuda si alguien da una respuesta más detallada.
magento-1.9
magento-1.8
module
configuration
Charlie
fuente
fuente
Respuestas:
System > Configuration > Advanced > Disable
La salida de módulos en realidad no desactivará ese módulo. Funciona como el nombre sugiere, deshabilita la salida de los módulos.Cuando miras
En
Mientras está
app/etc/modules
completamente deshabilitado el módulofuente
Al navegar en el backend de Magento a Sistema> Configuración> Avanzado> Desactivar salida de módulos, podemos desactivar fácilmente ciertos módulos.
- Eso significa que el módulo no se renderizará, no enviará salida a la pantalla pero su módulo se ejecutará. Echa un vistazo a app / code / core / Mage / Core / Block / Abstract.php -> toHtml
if (Mage :: getStoreConfig ('advanced / modules_disable_output /'. $ this-> getModuleName ())) {return ''; }
En la aplicación de directorio / etc / modules , cambiando la etiqueta activa de verdadero a falso.
---- verdadero / falso define que su módulo se cargará o saltará. Echa un vistazo
app/code/core/Mage/Core/Model/Config.php
->loadModulesConfiguration
fuente
Cuando simplemente
Disable Modules Output
, significa que el módulo no mostrará nada en la pantalla, en términos de programación: la_toHtml()
función no devolverá nada. Todo lo demás (observadores, reescrituras, controladores) aún se ejecutará.Idealmente, si desea deshabilitar un módulo correctamente, establezca "Activo"
false
y asegúrese de que ningún otro módulo lo extienda.fuente
Configuration > Current Configuration Scope > Advanced > Advanced > Disable Module Output.
Esta acción solo deshabilita la salida del módulo como dice. Si su módulo usa, digamos algunas funcionalidades de Observer para engancharse en alguna parte del sistema y anula algo, entonces esas acciones no se deshabilitarán.Para deshabilitar completamente el módulo, debe ir al archivo de configuración del módulo, como
/etc/NAMESPACE_MyModule.xml
, y establecer su parámetro activo en falso, como:fuente
"Deshabilitar salida de módulos" solo deshabilita la salida de bloque definida por la extensión. No omite la ejecución del módulo de su código si, por ejemplo, tiene observadores definidos.
fuente