C'est une erreur très courante qui apparaît dans Magento lorsque vous installez une nouvelle extension avec la configuration system.xml :
Lorsque vous accédez à l' System->Configuration->Extension
onglet, une erreur 404 s'affiche. Vous devez vous déconnecter et vous reconnecter, puis ça va. Mais existe-t-il un moyen d'éviter cela?
admin
extensions
system.xml
404-page
acl
JohnyFree
la source
la source
Réponses:
Comme l'a dit @Cags, cela n'est pas (facilement) possible car l'arborescence ACL est chargée lorsque la session est initialisée (AKA lorsque l'administrateur se connecte).
Une solution de contournement possible serait de remplacer la
_isSectionAllowed
méthode dans le contrôleur de configuration système: (Mage_Adminhtml_System_ConfigController::_isSectionAllowed
) et de lui faire recharger l'arborescence ACL.Quelque chose comme:
Mais cela signifie que l'arborescence ACL sera rechargée à chaque fois que vous accéderez à une section de configuration. Je ne vois aucun intérêt à faire cela.
Vous ne pouvez pas non plus le faire pour une extension spécifique. Vous devrez réécrire la classe principale.
la source
J'ai trouvé un moyen de contourner cela avec très peu de personnalisation. Ce dont nous avons besoin, c'est:
Une nouvelle action de contrôleur qui recharge l'ACL (sans se déconnecter et se déconnecter), puis redirige vers la page précédente:
Une mise à jour de la mise en page pour la
admin_noroute
poignée. Nous ajouterons un lien vers cette nouvelle action de contrôleur directement sur la page d'administration 404:Et le modèle avec le lien:
Je l'ai jeté ensemble dans une petite extension sur Github: SSE_AclReload (ajoute également le lien au menu Système> Autorisations )
Vous pouvez également essayer de recharger l'ACL automatiquement dès que l'action admin / noroute est envoyée, mais je préfère 1) savoir ce qui se passe et 2) avoir le choix.
la source
Si vous avez un problème lorsque vous installez une nouvelle extension et obtenez la page d' erreur 404, une seule chose que vous devez faire est d'entrer
System > Permissions > Roles
. Enregistrez simplement le rôle et n'oubliez pas d'effacervar/cache
etvar/seesion
Et votre problème a été résolu.la source
Essaye ça:
la source