Z powodu problemu z tym innym skryptem (w produkcie / list.phtml) <script type="text/javascript"> decorateList('category-list', 'none-recursive') </script>
musiałem przenieść JS na końcu mojej strony.
Nie byłem w stanie sprawić, aby powyższe wskazania zadziałały, dlatego znalazłem inny sposób na osiągnięcie:
Zastępuję Mage/page/Block/Html/Footer.php controller
, odtwarzając go z tą samą ścieżką w app/local folder
.
Oto pełna ścieżka do utworzenia, jeśli nie istnieje:
app / local / Mage / page / Block / Html / Footer.php
W tym pliku dodaję funkcje z Head.php, które można znaleźć w tym samym folderze rdzenia Magento (tj. Mage / page / Block / Html / Head.php).
Funkcje, które musisz zrobić, aby działały (oczywiście pełna funkcja, tutaj po prostu wskazuję nazwę, aby pozostać zwięzła):
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)
{...}
Następnie dodaję do mojej niestandardowej (tej w moim motywie) stronie / html / footer.phtml wywołanie tego:
<?php echo $this->getCssJsHtml() ?>
Na koniec mogę teraz dodać JS w stopce, wywołując ją w dowolnym układzie przez
<action method="addJs"><script>yourscript.js</script></action>