Jest to bardzo częsty błąd, który pojawia się w Magento podczas instalowania nowego rozszerzenia w pliku system.xml config:
Po przejściu do System->Configuration->Extension
zakładki wyświetlany jest błąd 404. Musisz się wylogować i zalogować ponownie, a następnie będzie w porządku. Ale czy jest jakiś sposób, aby tego uniknąć?
admin
extensions
system.xml
404-page
acl
JohnyFree
źródło
źródło
Odpowiedzi:
Jak powiedział @Cags, nie jest to (łatwo) możliwe, ponieważ drzewo ACL jest ładowane podczas inicjowania sesji (AKA, gdy administrator loguje się).
Możliwym obejściem byłoby zastąpienie
_isSectionAllowed
metody w kontrolerze konfiguracji systemu: (Mage_Adminhtml_System_ConfigController::_isSectionAllowed
) i ponowne załadowanie drzewa ACL.Coś jak:
Ale to oznacza, że drzewo ACL będzie ładowane ponownie za każdym razem, gdy uzyskasz dostęp do sekcji konfiguracji. Nie widzę sensu tego robić.
Nie można również tego zrobić dla jednego konkretnego rozszerzenia. Będziesz musiał przepisać klasę podstawową.
źródło
Znalazłem sposób na obejście tego przy bardzo niewielkich dostosowaniach. Potrzebujemy:
Nowa akcja kontrolera, która ponownie ładuje listę ACL (bez wylogowania i zalogowania), a następnie przekierowuje z powrotem na poprzednią stronę:
Aktualizacja układu dla
admin_noroute
uchwytu. Dodamy link do tej nowej akcji kontrolera bezpośrednio na stronie admin 404:I szablon z linkiem:
Wrzuciłem to do małego rozszerzenia na Github: SSE_AclReload (dodaje link również do menu System> Uprawnienia )
Możesz także spróbować ponownie załadować ACL automatycznie, gdy tylko zostanie uruchomiona akcja admin / noroute, ale wolę 1) wiedzieć, co się dzieje i 2) mieć wybór.
źródło
Jeśli masz problem z instalacją nowego rozszerzenia i wyświetleniem strony błędu 404 , musisz tylko zrobić jedną rzecz
System > Permissions > Roles
. Po prostu zapisz rolę i nie zapomnij wyczyścić,var/cache
avar/seesion
Twój problem został rozwiązany.źródło
Spróbuj tego:
źródło