첫 번째 단계는 기본적으로 "head"와 동일한 "foot"이라는 블록을 만드는 것이지만 다른 지점에서 출력합니다. 이것을 다음에 추가 할 수 있습니다 page.xml
.
<block type="page/html_head" name="foot" as="foot" template="page/html/foot.phtml"/>
이제 XML 파일에서이 명령을 사용하여 JS / CSS를 추가 할 수 있습니다 (바닥 글의 CSS는 권장되지 않음).
<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
:)에서 닫기 body 태그 전에이 블록을 출력해야합니다.
<?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>
문서가 준비된 핸들러에 없으므로로드되는 즉시 호출됩니다. 변형은 바닥 글에 있으므로 아직 존재하지 않으므로 오류가 발생합니다. 문서 준비 처리기를 추가하거나 이러한 특성의 모든 인라인 JS를 바닥 글에도로드 된 외부 파일로 이동하여이 문제를 해결할 수 있습니다. 이와 같은 문제는 사이트 전체, 특히 결제 및 구성 가능한 제품 페이지에서 발생합니다.
발생할 수있는 다른 문제는 noConflict 모드에서 프로토 타입과 함께 jQuery를 사용하는 경우입니다. 충돌이 발생하지 않도록 프로토 타입 전에 jQuery가로드되어 있는지 확인해야합니다.