La patch 5994 sta causando il modulo adminhtml 404 Errore di stato
-
13-12-2019 - |
Domanda
Ho applicato la patch 5994 l'altro giorno e ha causato la sezione di amministrazione di un modulo che costruisco di lanciare un 404. Qualcun altro ha avuto questo.Il modulo va bene sul frontend.
È magento 1.8.1.0 e dopo aver rotolato il mio commit è decisamente patch 5994 dove tutto è andato storto.
ha chiunque altro ha sperimentato lo stesso problema?
Sotto è il mio file Config.xml per il modulo che sospetto contiene la risposta:
<config>
<modules>
<Company_Playzone>
<version>0.1.0</version>
</Company_Playzone>
</modules>
<frontend>
<routers>
<playzone>
<use>standard</use>
<args>
<module>Company_Playzone</module>
<frontName>playzone</frontName>
</args>
</playzone>
</routers>
<layout>
<updates>
<playzone>
<file>playzone.xml</file>
</playzone>
</updates>
</layout>
</frontend>
<adminhtml>
<layout>
<updates>
<playzone>
<file>playzone.xml</file>
</playzone>
</updates>
</layout>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<playzone>
<title>Play Zone</title>
<sort_order>10</sort_order>
</playzone>
</children>
</admin>
</resources>
</acl>
<menu>
<cms>
<children>
<playzone_adminform module="playzone">
<title>Play Zone</title>
<children>
<activity module="playzone">
<title>Activities</title>
<action>playzone/adminhtml_activity</action>
</activity>
<category module="playzone">
<title>Categories</title>
<action>playzone/adminhtml_category</action>
</category>
<competition module="playzone">
<title>Competitions</title>
<action>playzone/adminhtml_competition</action>
</competition>
</children>
</playzone_adminform>
</children>
</cms>
</menu>
</adminhtml>
<global>
<helpers>
<playzone>
<class>Company_Playzone_Helper</class>
</playzone>
</helpers>
<blocks>
<playzone>
<class>Company_Playzone_Block</class>
</playzone>
</blocks>
<models>
<playzone>
<class>Company_Playzone_Model</class>
<resourceModel>playzone_resource</resourceModel>
</playzone>
<playzone_resource>
<class>Company_Playzone_Model_Resource</class>
<entities>
<activity>
<table>playzone_activity</table>
</activity>
<category>
<table>playzone_category</table>
</category>
<competition>
<table>playzone_competition</table>
</competition>
</entities>
</playzone_resource>
</models>
<resources>
<playzone_setup>
<setup>
<module>Company_Playzone</module>
<class>Company_Playzone_Model_Resource_Setup</class>
</setup>
</playzone_setup>
<playzone_write>
<connection>
<use>core_write</use>
</connection>
</playzone_write>
<playzone_read>
<connection>
<use>core_read</use>
</connection>
</playzone_read>
</resources>
</global>
</config>
. Soluzione
Questa è la nuova funzione di sicurezza in pieno effetto come delineato da Cirill Schumacher . Era anche così gentile da Fornisci la correzione :
.Controller deve estendere il controller HTML di amministratore e i router Config.xml La sezione deve anche utilizzare Admin.
C'è una spiegazione molto buona a risolvendo magento - Router Magento: un aspetto sotto il cofano .
Se è necessario un nome router personalizzato, la sezione che deve essere aggiunta dovrebbe essere simile a questo:
<config>
...
<admin>
<routers>
<playzone>
<use>admin</use>
<args>
<module>Limesharp_Playzone</module>
<frontName>playzone</frontName>
</args>
</playzone>
</routers>
</admin>
...
</config>
.
È più comune estendere la configurazione del router però:
Aggiornamento : A partire da Magento CE 1.9.2.2, l'esempio precedente è applicabile solo ai percorsi di front. Estendere la configurazione del router è il modo in cui andare:
<config>
...
<admin>
<routers>
<adminhtml>
<args>
<modules>
<Limesharp_Playzone before="Mage_Adminhtml">Limesharp_Playzone_Adminhtml</Limesharp_Playzone>
</modules>
</args>
</adminhtml>
</routers>
</admin>
...
</config>
.