Через проблему з цим іншим сценарієм (у product / list.phtml) <script type="text/javascript"> decorateList('category-list', 'none-recursive') </script>
мені довелося перемістити JS в кінці сторінки.
Я не зміг зробити так, як зазначено вище, працювати, тому я знаходжу інший спосіб досягти:
Я переосмислюю Mage/page/Block/Html/Footer.php controller
, відтворюючи його тим самим шляхом у app/local folder
.
Ось повний шлях, який слід створити, якщо його немає:
app / local / Mage / сторінка / Блок / Html / Footer.php
У цей файл я додаю функції з Head.php, які можна знайти в тій же папці ядра Magento (тобто Mage / page / Block / Html / Head.php).
Функції, необхідні для того, щоб він працював, є (очевидно, повною функцією, тут я просто вказую ім'я, щоб залишатися стислим):
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)
{...}
Тоді я додаю на свою власну (ту, що в моїй темі) сторінку / html / footer.phtml, заклик до цього:
<?php echo $this->getCssJsHtml() ?>
Зрештою, тепер я можу додати JS до свого нижнього колонтитулу, викликаючи його в будь-якому макеті
<action method="addJs"><script>yourscript.js</script></action>