Do một vấn đề với tập lệnh khác này (trong sản phẩm / list.phtml), <script type="text/javascript"> decorateList('category-list', 'none-recursive') </script>
tôi đã phải di chuyển một số JS ở cuối trang của mình.
Tôi không thể làm cho những gì được chỉ ra ở trên hoạt động vì vậy tôi tìm một cách khác để đạt được:
Tôi ghi đè lên Mage/page/Block/Html/Footer.php controller
bằng cách tạo lại nó với cùng một đường dẫn trong app/local folder
.
Đây là đường dẫn đầy đủ sẽ được tạo nếu không tồn tại:
ứng dụng / cục bộ / Pháp sư / trang / Chặn / Html / Footer.php
Trong tệp này, tôi thêm các hàm từ Head.php có thể được tìm thấy trong cùng thư mục lõi của Magento (tức là Mage / page / Block / Html / Head.php).
Các chức năng bạn cần để làm cho nó hoạt động (rõ ràng là chức năng đầy đủ, ở đây tôi chỉ cho biết tên vẫn ngắn gọn):
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)
{...}
Sau đó, tôi thêm vào trang tùy chỉnh của mình (trang trong chủ đề của tôi) / html / footer.phtml cuộc gọi cho việc này:
<?php echo $this->getCssJsHtml() ?>
Cuối cùng, bây giờ tôi có thể thêm JS vào chân trang của mình bằng cách gọi nó trong bất kỳ bố cục nào bằng cách
<action method="addJs"><script>yourscript.js</script></action>