2013-04-13 17 views
8

Я пытаюсь загрузить файл js в нижнем колонтитуле моего magento. Я использую этот код, но он возвращает мне ошибку. Любая помощь? Большое спасибо!Magento добавить Js в нижний колонтитул

code used in local.xml: 

<layout> 
<default> 
    <reference name="footer"> 
     <action method="addJs"><script>js/file.js</script></action> 
    </reference> 
</default> 
</layout> 
+0

«, но верни мне ошибка ", с какой ошибкой? – plalx

ответ

1

Реферирование мой ответ здесь:
How to add Javascript files in body part (not header) through layout xml files in magento

Лучше всего это сделать .phtml файл с JS ссылки и добавить его в сноске, используя этот формат:

<layout> 
    <default> 
     <reference name="footer"> 
      <block type="core/template" name="unique_name_here" template="path/to/js.phtml" /> 
     </reference> 
    </default> 
</layout> 

Для Подобные ссылки, нижний колонтитул автоматически загрузит все дочерние html-блоки. Родителя .phtml файлы шаблона может потребоваться вызов getChildHtml в них будет показано, как так:

<?php echo $this->getChildHtml('unique_name_here'); ?> 

Это должно сделать это.

5

Для Magento v1.6 + (необходимо протестировать в старых версиях);

1 - создать файл шаблона в page/html/footer/extras.phtml с этим содержанием:

<?php echo $this->getCssJsHtml() ?> 

2 - Добавьте этот HTML узла в макет XML:

<reference name="before_body_end"> 
<block type="page/html_head" name="extra_js" as="extraJs" after="-" template="page/html/footer/extras.phtml"> 
    <action method="addItem"><type>skin_js</type><name>js/jquery.min.js</name></action> 
</block> 

3 - То есть это !

22

Найти page.xml вашей темы и найти следующий

<block type="core/text_list" name="before_body_end" as="before_body_end" translate="label"> 

И вставить следующий раз перед:

<block type="page/html_head" name="jsfooter" as="jsfooter" template="page/html/jsfooter.phtml"> 
    <action method="addJs"><script>your_script.js</script></action> 
</block> 

Создайте файл шаблона в app/design/frontend/[package]/[theme]/template/page/html/jsfooter.phtml и поместить следующее:

<?php echo $this->getCssJsHtml() ?> 

Добавьте ниже в свой шаблон перед закрытием t AG:

<?php echo $this->getChildHtml('jsfooter') ?> 
+0

Я пробовал. Прекрасно работает .. +1 – Shatir

0

Вы можете добавить новый блок в page.xml

<block type="core/text_list" name="before_body_end" as="before_body_end" translate="label"> 
    <block type="page/html_head" name="footerjscss" as="footerjscss" after="-" template="page/html/footerjscss.phtml"/> 
</block> 

затем добавить JS & CSS файлы в любом layout.xml

<reference name="footerjscss"> 
    <action method="addItem"><type>skin_js</type><name>js/slideshow.js</name></action> 
    <action method="addItem"><type>skin_css</type><name>css/madisonisland.css</name><params/><if/></action> 
</reference> 

Создать .phtml файл страницы/html/footerjscss.phtml и добавьте следующий код:

<?php echo $this->getCssJsHtml() ?> 

Позовите блок в шаблон страницы «3columns.phtml» и т.д., вам будет нужно вывести этот блок перед тегом:

<?php echo $this->getChildHtml('before_body_end') ?> 

См код здесь:http://blog.rahuldadhich.com/magento-load-css-js-footer/

Смежные вопросы