J'ai un module "auth-redirect" qui est au début de tous mes fichiers de mise en page (1column, 2column, etc.). Cela fonctionne pour s'assurer qu'avant de rendre n'importe quelle page, si l'utilisateur n'est pas authentifié correctement, il redirige vers une page de connexion.Magento Layout.xml <remove ...> tag n'ayant pas l'effet désiré
La façon dont je permets la page de connexion est de rendre dans mon fichier customer.xml Je déclare ce qui suit:
<customer_account_login>
<remove name="auth-redirect"/>
...
</customer_account_login>
Cela fonctionne fabuleusement.
Cependant, j'ai récemment créé un autre module module personnalisé et quand je vais aux URLs qui engagent le contrôleur de ce module et rendent la disposition des modules l'auth-redirect reste dans la page et donc toujours redirigé.
La mise en page du module personnalisé ressemble à ceci:
<shipment_management_index>
<remove name="auth-redirect"/>
<reference name="content">
<block type="custom/vendor_shipment_info" template="custom/vendor/shipment/info.phtml" name="info"/>
</reference>
</shipment_management_index>
Maintenant, je suis allé à la page et en utilisant le module showLayout d'Alan tempête obtenu la sortie de la page showLayout =?. Vous pouvez voir que l'élément pour auth-redirect est dans la page, en dessous du corps, mais en haut, auth-redirect est toujours dans la page. Qu'est-ce que je rate?
<layout><block name="formkey" type="core/template" template="core/formkey.phtml"/>
<block type="page/html" name="root" output="toHtml" template="page/1column.phtml">
<block type="page/html" name="auth-redirect" as="auth-redirect" template="page/html/auth-redirect.phtml" ignore="1"/>
<block type="page/html_head" name="head" as="head">
...
</block>
...
<remove name="auth-redirect"/>
<reference name="content">
<block type="custom/vendor_shipment_info" template="custom/vendor/shipment/info.phtml" name="info"/>
</reference>
</reference></layout>