Odpowiedzi:
Istnieją dwie stosunkowo nowe techniki, aby to zrobić:
Użyj modmana , abyś sam mógł kontrolować, co wdrożyć dla każdego środowiska. Oznacza to, że działasz modman deploy [name-of-dev-extension]tylko w środowisku deweloperskim.
Użyj magento-kompozytora z różnymi composer.jsonscenariuszami dla różnych środowisk. Jeszcze łatwiejszym sposobem jest określenie tych rozszerzeń jako modułów --require-devdeweloperskich, a następnie zainstalowanie projektu za pomocą przełącznika na komputerze programistycznym.
Zazwyczaj można je wygodnie wyłączyć za pomocą flagi konfiguracji, więc są technicznie aktywne, ale nic nie robią. Jeśli ustawisz tę flagę na false w app/etc/local.xmlswoim systemie na żywo, wszystko powinno być w porządku.
local.xmlplik w repozytorium. Co może być przypadkiem.
local.xmlzwykle nie ma jej w repozytorium
Zobacz MageTrashApp, który powstał niedawno na Magento Hackathon w Berlinie. Umożliwia dezaktywację modułów za pomocą panelu administracyjnego.
Prostym sposobem na to jest wyłączenie modułu w / etc / modules, wypchnięcie go, zignorowanie pliku lokalnie i włączenie go ponownie.
Myślę, że najlepszym sposobem na poradzenie sobie z tym jest pozostawienie wszystkich modułów w lokalnym codePool i wyłączenie wszystkich modułów lokalnych na żywo z tą linią w pliku local.xml:
<disable_local_modules>true</disable_local_modules>
Możesz też wykonać polecenie „Wyłącz wyjście modułu” w backendu swojego środowiska na żywo. (System -> Konfiguracja -> Zaawansowane). Nie wyłącza to jednak całkowicie modułu. Ale może wystarczy, że chcesz się przed tym ukryć.
Jedyną rzeczą, o której myślę, jest napisanie kodu, który to umożliwi. Wystarczy sprawdzić, czy jest w trybie programisty ( Mage::getIsDeveloperMode()), a następnie wyłączyć moduły. Znalazłem więcej szczegółów na temat osiągnięcia tego tutaj: /programming/6520634/magento-how-to-disable-module-programmatically
localmodułów zmusi cię do przeniesienia wszystkich innych modułów z localcodePool do, communitya także do wszystkich przyszłych rozszerzeń. Wyłączanie modułów wyjściowych, tak jak powiedziałeś, nadal pozwala na rozszerzenie spowalniające twój sklep. A trzecie rozwiązanie będzie wymagało modyfikacji, które zostaną zastąpione aktualizacją rozszerzenia (rozszerzeń).
Zwykle po prostu umieszczam je w moim środowisku testowym, ale nie sprawdzam ich w systemie kontroli wersji, na przykład za pomocą .gitignorepliku, aby wykluczyć ich z rozważania o popełnienie.
Na konferencji Imagine 2011 znajduje się slajd Erika Hansena. Podał kod na slajdzie, który jest jak poniżej (dla trybu programisty)
# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}
tutaj Erik włącza ustawienie oparte na subdomenach, które można dostosować samodzielnie.