İlk adım, "foot" adında bir blok oluşturmaktır. Bunu aşağıdakilere ekleyebilirsiniz page.xml
:
<block type="page/html_head" name="foot" as="foot" template="page/html/foot.phtml"/>
Artık XML dosyalarınızdan herhangi birinde bu komutu kullanarak JS / CSS ekleyebilirsiniz (altbilgideki CSS önerilmez).
<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>
İçinde page/html/foot.phtml
:
<?php echo $this->getCssJsHtml() ?>
<?php echo $this->getChildHtml() ?>
<?php echo $this->helper('core/js')->getTranslatorScript() ?>
<?php echo $this->getIncludes() ?>
Sayfa şablonu dosyalarınızda (ör. page/1column.phtml
) Kapanış gövdesi etiketinden önce bu bloğu çıkarmanız gerekir:
<?php echo $this->getChildHtml('foot') ?>
Varsayılan Magento şablonlarını kullanıyorsanız JS hataları alırsınız. Mini arama formunu ele alalım örneğin ( catalogsearch/form.mini.phtml
). Bu satır içi komut dosyasına sahiptir:
<script type="text/javascript">
//<![CDATA[
var searchForm = new Varien.searchForm('search_mini_form', 'search', '<?php echo $this->__('Search Redset...') ?>');
//]]>
</script>
Bu, herhangi bir belgeye hazır işleyicide olmadığı için yüklenir yüklenmez çağrılacaktır. Varien henüz altbilgide olduğu için mevcut değil, bu nedenle bir hata alıyorsunuz. Belgeye hazır bir işleyici ekleyerek veya bu türdeki tüm satır içi JS'yi altbilgide de yüklü olan harici bir dosyaya taşıyarak bunu düzeltebilirsiniz. Bu gibi sorunlar site genelinde, özellikle ödeme ve yapılandırılabilir ürün sayfalarında ortaya çıkacaktır.
Karşılaşabileceğiniz diğer sorun, noConflict modunda Prototip ile birlikte jQuery kullanıyorsanız. Prototipten önce jQuery'nin yüklendiğinden emin olmanız gerekir, böylece çakışma olmaz.