Проблемы jQuery Accordion + Magento - Возможный конфликт? - PullRequest
0 голосов
/ 23 сентября 2011

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

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

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

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

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

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

1 Ответ

2 голосов
/ 24 сентября 2011

Вы запускаете jquery в режиме noConflict?

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

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

Обычно это все, что вам нужно сделать, однако, потому что Magento также включает
Прототип, есть тонкость, с которой нам нужно разобраться. 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 /

...