เนื่องจากปัญหากับสคริปต์อื่นนี้ (ใน 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 / หน้า / บล็อก / html / footer.php
ในไฟล์นี้ฉันเพิ่มฟังก์ชั่นจาก Head.php ซึ่งสามารถพบได้ในโฟลเดอร์เดียวกับแกนหลักของ Magento (เช่น Mage / หน้า / บล็อก / 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>