Détecter les pages panier, commande et compte utilisateur sous Magento

Il peut être très utile de cibler les pages panier, commandes, et les diverses pages du compte utilisateur de Magento pour les customiser. Il m'arrive aussi d'utiliser ces identifiants pour créer des variables quand je veux ajouter ou enlever des scripts appelés dans le head.phtml ou le footer.phtml. Pour un exemple précis, un script de slideshow jQuery custom que j'avais intégré entrait en conflit avec les fonctions jQuery de la page de checkout, il me fallait donc une variable dans le footer, où j'appelais le script du slideshow, pour ne pas l'appeler sur cette page.

Pour détecter la page :

<?php $fullActionName = Mage::app()->getFrontController()->getAction()->getFullActionName(); ?>

Voici une petite liste non exhaustive de pages que l'on pourrait avoir besoin de cibler sous Magento.

La page panier :

if ('checkout_cart_index' == $fullActionName) {
    // Je suis sur la page panier
}

Le tunnel de commande :

if ('checkout_onepage_index' == $fullActionName) {
    // Je suis sur la page "one page checkout"
}

La page de création de compte :

if ('customer_account_login' == $fullActionName) {
    // Je suis sur la page de création de compte
}

La page de connexion :

if ('customer_account_login' == $fullActionName) {
    // Je suis sur la page de connexion
}

Les autres pages compte utilisateur (il y en a peut-être d'autres) :

if (0 === strpos($fullActionName, 'customer_account_')
 || 0 === strpos($fullActionName, 'customer_address_')
 || 0 === strpos($fullActionName, 'wishlist_')
 || 0 === strpos($fullActionName, 'newsletter_manage_')
 || 0 === strpos($fullActionName, 'review_customer_')
 || 0 === strpos($fullActionName, 'sales_order_')
) {
    // Je suis dans les pages "Mon compte"
}

La détection de la déconnexion utilisateur peut aussi être utile pour appeler une action ou alerte :

if ('customer_account_logoutSuccess' == $fullActionName) {
    // L'utilisateur s'est déconnecté
}
BLOG COMMENTS POWERED BY DISQUS