ขั้นตอนแรกคือการสร้างบล็อกที่เรียกว่า "เท้า" ซึ่งเป็นหลักเหมือนกับ "หัว" แต่คุณจะส่งออกในจุดที่แตกต่างกัน คุณสามารถเพิ่มสิ่งนี้ในpage.xml
:
<block type="page/html_head" name="foot" as="foot" template="page/html/foot.phtml"/>
ตอนนี้คุณสามารถเพิ่ม JS / CSS (แม้ว่าไม่แนะนำให้ใช้ CSS ในส่วนท้าย) โดยใช้คำสั่งนี้ในไฟล์ XML ใด ๆ ของคุณ:
<reference name="foot">
<action method="addItem">
<type>skin_js</type>
<name>js/somefile.js</name>
</action>
<action method="addItem">
<type>skin_js</type>
<name>js/main.js</name>
</action>
</reference>
ภายในpage/html/foot.phtml
:
<?php echo $this->getCssJsHtml() ?>
<?php echo $this->getChildHtml() ?>
<?php echo $this->helper('core/js')->getTranslatorScript() ?>
<?php echo $this->getIncludes() ?>
ในไฟล์เทมเพลตหน้าของคุณ (เช่นpage/1column.phtml
) คุณจะต้องออกบล็อกนี้ก่อนแท็กเนื้อหาปิด:
<?php echo $this->getChildHtml('foot') ?>
หากคุณใช้เทมเพลต Magento ที่เป็นค่าเริ่มต้นคุณจะได้รับข้อผิดพลาด JS ใช้แบบฟอร์มการค้นหาขนาดเล็กเช่น ( catalogsearch/form.mini.phtml
) มันมีสคริปต์แบบอินไลน์นี้:
<script type="text/javascript">
//<![CDATA[
var searchForm = new Varien.searchForm('search_mini_form', 'search', '<?php echo $this->__('Search Redset...') ?>');
//]]>
</script>
สิ่งนี้จะถูกเรียกทันทีที่โหลดเนื่องจากไม่มีในตัวจัดการเอกสารที่พร้อมใช้งาน ตัวแปรยังไม่มีอยู่เนื่องจากมีส่วนท้ายดังนั้นคุณจึงได้รับข้อผิดพลาด คุณสามารถแก้ไขได้โดยเพิ่มตัวจัดการเอกสารที่พร้อมใช้งานหรือโดยการย้าย inline JS ทั้งหมดของลักษณะนี้ไปยังไฟล์ภายนอกที่โหลดในท้ายกระดาษ ปัญหาเช่นนี้จะเกิดขึ้นทั่วทั้งไซต์โดยเฉพาะในหน้าชำระเงินและกำหนดค่าผลิตภัณฑ์
ปัญหาอื่น ๆ ที่คุณอาจพบคือถ้าคุณใช้ jQuery ควบคู่กับ Prototype ในโหมด noConflict คุณจะต้องตรวจสอบให้แน่ใจว่ามีการโหลด jQuery ก่อนที่ต้นแบบจะไม่มีความขัดแย้งเกิดขึ้น