Из-за проблемы с этим другим сценарием (в product / list.phtml) <script type="text/javascript"> decorateList('category-list', 'none-recursive') </script>
мне пришлось переместить несколько JS в конце моей страницы.
Я не смог заставить работать то, что указано выше, поэтому я нашел другой способ добиться этого:
Я переопределяю Mage/page/Block/Html/Footer.php controller
, воссоздав его с тем же путем в app/local folder
.
Вот полный путь, который будет создан, если не существует:
приложение / местные / Mage / страница / Block / 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>