Magento: как отключить прототип.js только на внешнем интерфейсе?

Я ищу простой способ отключить прототип.js только на внешнем интерфейсе Magento (и продолжить загрузку на стороне администратора). Я работаю над индивидуальным дизайном и практически исключительно использую jQuery для внешнего интерфейса. Я пытаюсь устранить некоторые ошибки javascript, и было бы полезно, если бы я мог вообще не загружать прототип.js во внешнем интерфейсе, но он мне все еще нужен для административной стороны.

Я могу найти обходной путь, изменив файл head.phtml и заменив

echo $this->getCssJsHtml()

с выводом этой функции, за вычетом строки для прототипа. Я понимаю, что это, вероятно, не будет идеальным способом сделать это, но я не слишком знаком со всей конфигурацией Magento XML. Как лучше всего отключить прототип в Magento только для внешнего интерфейса?


person Joe M.    schedule 21.05.2015    source источник


Ответы (2)


Вы можете использовать как prototype.js, так и jQuery одновременно во фронте, для этого вам нужно внести небольшие изменения в синтаксис jQuery, использовать jQuery вместо $.

Например: -

Обычный jQuery:

$( document ).ready(function() {
console.log( "ready!" );
});

В Magento:

jQuery( document ).ready(function() {
    console.log( "well Done :-)!" );
    });
person Deepak Mankotia    schedule 22.05.2015

Если вы хотите отключить прототип.js из внешнего интерфейса с любой страницы CMS, вы можете изменить файл макета, как показано ниже:

<?xml version="1.0"?>  
<layout version="0.1.0">
<cms_page>
    <reference name="root">
        <reference name="head">
            <action method="removeItem"><type>js</type><name>prototype/prototype.js</name></action>
        </reference>
    </reference>
</cms_page>
</layout>
person Manashvi Birla    schedule 22.05.2015