Istnieje kilka ciekawych rozszerzeń dla programistów Magento, których zwykle nie chcesz mieć w systemie na żywo.
Jak możesz przechowywać je w repozytorium projektów, ale uniknąć ich ujawnienia w sklepie na żywo?
Istnieje kilka ciekawych rozszerzeń dla programistów Magento, których zwykle nie chcesz mieć w systemie na żywo.
Jak możesz przechowywać je w repozytorium projektów, ale uniknąć ich ujawnienia w sklepie na żywo?
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.json
scenariuszami dla różnych środowisk. Jeszcze łatwiejszym sposobem jest określenie tych rozszerzeń jako modułów --require-dev
deweloperskich, 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.xml
swoim systemie na żywo, wszystko powinno być w porządku.źródło
local.xml
plik w repozytorium. Co może być przypadkiem.local.xml
zwykle nie ma jej w repozytoriumZobacz MageTrashApp, który powstał niedawno na Magento Hackathon w Berlinie. Umożliwia dezaktywację modułów za pomocą panelu administracyjnego.
źródło
Prostym sposobem na to jest wyłączenie modułu w / etc / modules, wypchnięcie go, zignorowanie pliku lokalnie i włączenie go ponownie.
źródło
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:
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źródło
local
modułów zmusi cię do przeniesienia wszystkich innych modułów zlocal
codePool do,community
a 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ą
.gitignore
pliku, aby wykluczyć ich z rozważania o popełnienie.źródło
Na konferencji Imagine 2011 znajduje się slajd Erika Hansena. Podał kod na slajdzie, który jest jak poniżej (dla trybu programisty)
tutaj Erik włącza ustawienie oparte na subdomenach, które można dostosować samodzielnie.
źródło