En raison d'un problème avec cet autre script (dans product / list.phtml), <script type="text/javascript"> decorateList('category-list', 'none-recursive') </script>
j'ai dû déplacer un fichier JS à la fin de ma page.
Je n'ai pas réussi à faire fonctionner ce qui est indiqué ci-dessus, alors j'ai trouvé un autre moyen de réaliser:
Je remplace le Mage/page/Block/Html/Footer.php controller
en le recréant avec le même chemin dans app/local folder
.
Voici le chemin complet à créer s'il n'existe pas:
app / local / Mage / page / Block / Html / Footer.php
Dans ce fichier, j'ajoute des fonctions de Head.php qui se trouvent dans le même dossier que le noyau de Magento (par exemple, Mage / page / Block / Html / Head.php).
Les fonctions dont vous avez besoin pour que cela fonctionne sont (évidemment la fonction complète, ici je viens d'indiquer le nom pour rester concis):
public function addItem($type, $name, $params=null, $if=null, $cond=null)
{...}
public function addJs($name, $params = "")
{...}
public function getCssJsHtml()
{...}
protected function &_prepareStaticAndSkinElements($format, array $staticItems, array $skinItems, $mergeCallback = null)
{...}
protected function _separateOtherHtmlHeadElements(&$lines, $itemIf, $itemType, $itemParams, $itemName, $itemThe)
{...}
protected function _prepareOtherHtmlHeadElements($items)
{...}
Ensuite, j'ajoute à ma page (html / footer.phtml) personnalisée (celle de mon thème):
<?php echo $this->getCssJsHtml() ?>
À la fin, je peux maintenant ajouter JS dans mon pied de page en l’appelant dans n’importe quelle mise en page.
<action method="addJs"><script>yourscript.js</script></action>