Si comme moi vous aimez bien regrouper tout votre code Javascript dans un fichier JS plutôt que d’écrire votre code directement dans les fichiers Templates, au sein de balises <script>, peut-être vous êtes vous confronté au problème suivant: comment votre code Javascript peut-il connaître l’URL de base de votre site Magento? Cela devient nécessaire lorsque vous souhaitez réaliser un appel Ajax: comment calculer l’URL Ajax sans connaître l’URL de base?
Certes, vous avez connaissance de l’URL actuellement présente dans le navigateur, mais malheureusement, vous ne pouvez pas trop compter dessus. Exemple: l’URL chargée de l’affichage d’un produit peut contenir ou non la catégorie (http://demo.magentocommerce.com/music/nusantara.html et http://demo.magentocommerce.com/nusantara.html sont 2 mêmes URLs pointant sur le même produit).
Dans ce cas, comment trouver cette URL de base?
J’étais persuadé que Magento mettait à disposition une constante/variable Javascript qu’il suffirait d’appeler pour obtenir cette URL de Base, mais non! En tout cas, je ne l’ai pas trouvé. Je suis preneur si quelqu’un sait où l’équipe de Magento l’a cachée…
Du coup, je vous propose 2 solutions pour pallier à ce manque
1ère solution : créer nous même cette constante Javascript
Créer un template js-parameters.phtml avec le code suivant:
<script type="text/javascript"> //<![CDATA[ const BASE_URL = "<?php echo Mage::getBaseUrl(); ?>"; //]]> </script>
Puis, dans votre fichier de layout, ajoutez le code suivant:
<default> <reference name="head"> <block type="core/template" name="js_parameters" template="monmodule/js-parameters.phtml"/> </reference> </default>
En supposant bien sûr que votre template se trouve dans le répertoire monmodule.
Voilà! Le contenu du fichier template js-parameters.phtml sera chargé sur chaque page de votre site. Vous pouvez donc l’utiliser pour y définir toutes les constantes nécessaires à vos fichiers Javascript. Celles-ci seront initialisées entre les balises <HEAD> de chaque page.
Notez l’utilisation de Mage::getBaseUrl() pour obtenir l’URL de base du site Magento.
2ème solution: prendre le lien présent sur le logo
Si vous n’avez pas modifié la façon d’afficher le logo, celui-ci est normalement entouré d’un lien vers la home page de votre site… qui correspond à l’URL de base…
L’astuce consiste donc à aller récupérer cette URL:
const BASE_URL = $$("a.logo")[0].href;
C’est tout !
Personnellement, j’aime bien la 2ème solution… 
Revenir au Tutoriel sur les Layouts, Blocs, Templates