Проблемы jQuery Accordion + Magento - Возможный конфликт?

Я использую аккордеон/вкладку jQuerytools в среде Magento, и по какой-то причине скрипт не работает.

Если вы посмотрите на рабочую страницу ниже, вы увидите, что контент и скрипт в автономной среде работают нормально.

Но как только он попадает в Magento (нерабочая страница), панели аккордеона не открываются, и я не вижу никаких очевидных ошибок.

Рабочая страница — http://www.justkitchens.co/sandbox/JustDoors/acrylic-kitchen-doors-chooser.html Нерабочая страница – http://www.justkitchens.co/chooser-test/

Может кто-нибудь помочь мне здесь?

РЕДАКТИРОВАТЬ: я прокомментировал вызываемый скрипт jquery-ui.min.js, и кажется, что все работает... так что похоже на конфликт...


person Vince Pettit    schedule 23.09.2011    source источник


Ответы (1)


Вы используете jquery в режиме noConflict?

Magento использует прототип, поэтому вам нужно сделать это.

Из http://www.fontis.com.au/blog/magento/using-jquery-magento:

Обычно это все, что вам нужно сделать, однако, поскольку Magento также включает в себя
Prototype, есть одна тонкость, с которой нам нужно разобраться. jQuery использует $ как сокращение для доступа к библиотеке jQuery. Но Prototype также использует $ для доступа к себе. Это вызывает конфликт в пространстве имен global JavaScript веб-браузера. К счастью, jQuery предоставляет решение, функция jQuery.noConflict(); определяет новое сокращение для jQuery, например:

var $j = jQuery.noConflict();

Приведенный выше код должен располагаться после кода библиотеки jQuery, но перед любыми другими библиотеками JavaScript. Вы можете включить вызов noConflict в конец файла jQuery, который вы скопировали в каталог js. Поэтому вам нужно убедиться, что строка «метод действия», которую мы включили в layout/page.xml, стоит перед кодом, который включает Prototype или любые другие библиотеки JavaScript.

Альтернативная статья об этом: http://css-tricks.com/2011-using-jquery-in-magneto/

person Alex Hadley    schedule 24.09.2011