W magento doszedłem do wniosku, że możemy wyłączyć nasz moduł na dwa sposoby
- Przechodząc do backendu Magento do System> Konfiguracja> Zaawansowane> Wyłącz wyjście modułów, możemy łatwo wyłączyć niektóre moduły.
- W katalogu app / etc / modules zmieniając tag aktywny z true na false.
Czy mogę wiedzieć, jaka jest dokładna różnica między tymi dwoma technikami? Jest to bardzo pomocne, jeśli ktoś udzieli bardziej szczegółowej odpowiedzi.
magento-1.9
magento-1.8
module
configuration
Charlie
źródło
źródło
Odpowiedzi:
System > Configuration > Advanced > Disable
Wyjście modułów nie dezaktywuje tego modułu. Działa jak sugeruje nazwa, wyłącza wyjście modułów.Kiedy patrzysz na
W
Podczas gdy
app/etc/modules
całkowicie wyłączony modułźródło
Przechodząc do backendu Magento do System> Konfiguracja> Zaawansowane> Wyłącz wyjście modułów, możemy łatwo wyłączyć niektóre moduły.
- Oznacza to, że moduł nie będzie renderował, nie wysyła danych wyjściowych na ekran, ale wykonuje moduł. Zobacz aplikację / code / core / Mage / Core / Block / Abstract.php -> toHtml
if (Mage :: getStoreConfig ('advanced / modules_disable_output /'. $ this-> getModuleName ())) {return ''; }
W katalogu app / etc / modules zmieniając tag aktywny z true na false.
---- true / false zdefiniuj, że moduł będzie ładowany lub pomijany. Spójrz
app/code/core/Mage/Core/Model/Config.php
->loadModulesConfiguration
źródło
Po prostu
Disable Modules Output
oznacza to, że moduł nie wyświetli niczego na ekranie, pod względem programowania:_toHtml()
funkcja nic nie zwróci. Cała reszta (obserwatorzy, przepisywanie, kontrolery) będzie nadal wykonywana.Idealnie, jeśli chcesz poprawnie wyłączyć moduł, ustaw „Aktywny” na
false
i upewnij się, że żaden inny moduł go nie rozszerza.źródło
Configuration > Current Configuration Scope > Advanced > Advanced > Disable Module Output.
Ta akcja wyłącza wyjście modułu tylko tak, jak mówi. Jeśli twój moduł używa, powiedzmy, że funkcjonalność Observera łączy się z pewną częścią systemu i wykonuje pewne przesłonięcia, wtedy te akcje nie zostaną wyłączone.Aby całkowicie wyłączyć moduł, musisz przejść do pliku konfiguracyjnego modułu, jak
/etc/NAMESPACE_MyModule.xml
i ustawić jego parametr aktywny na false, na przykład:źródło
„Wyłącz wyjście modułów” wyłącza tylko wyjście bloku zdefiniowane przez rozszerzenie. Nie pomija wykonywania modułu jego kodu, jeśli na przykład ma zdefiniowanych obserwatorów.
źródło