Форум русской поддержки Joomla!® CMS
24.07.2017, 22:48:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Конфликт при подключении JQUERY

 (Прочитано 410 раз)
0 Пользователей и 1 Гость смотрят эту тему.
urry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 68


« : 26.08.2016, 13:07:05 »

Доброго времени суток!

Подскажите, пожалуйста: на странице товара в скрипт product_default.php подключил библиотеку jquery для того, чтобы можно было вводить количество товара кнопками "больше" "меньше".

Стало красиво и удобно, но изображение товара с классом Lightbox при нажатии и попытке увидеть полноразмерное фото, перестало открываться в модальном окне, а стало открываться прямо в окне браузера вместо страницы товара, на котором я стою.

Насколько я понял, имеет место конфликт библиотек. Почитал в интернетах, даже тут на форуме что-то подобное нашел. Как вариант попробовал использовать jQuery noconflict, но в результате у меня и кнопки "больше"-"меньше" не работают, и картинка не открывается, как положено.

Может быть я как-то неправильно синтаксис jQuery noconflict использую? или там нужно в определенной последовательности вызывать библиотеки?
Вот в этой теме советуют какой-то доп.плагин скачать (http://joomlaforum.ru/index.php?topic=253815.0), но хочется по-человечески, правильно, руками поправить.

Буду очень благодарен за подсказки! Спасибо.
Записан
kit2m2
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1123



« Ответ #1 : 26.08.2016, 13:37:39 »

Нужно не подключать, а наоборот отключить лишнее подключение. Тогда все заработает. Ищите где второй раз подключается библиотека и уберите её.

jQuery noconflict тут не спасет. Видел у некоторых по 4 раза бывает подключено  Wink
Записан
urry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 68


« Ответ #2 : 26.08.2016, 13:48:31 »

Посмотрел source страницы. Там, в самом деле, чего только не подключено. И jquery там уже подключается в других местах. Но тогда я не понимаю - почему без явного подключения jquery еще раз в скрипте product_default.php не работают кнопки "больше"-"меньше", а при его поключении внутри скрипта - работают?  Sad
Записан
urry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 68


« Ответ #3 : 26.08.2016, 15:55:45 »

Уррра!

Нашел тут в одной из веток. Заработало!

После дополнительного скрипта, который я добавил, и подключенной более свежей библиотекой jquery нужно вставить строчку:

<script type="text/javascript">jQuery.noConflict(true);</script>

И все работает - и Lightbox картинки товара и "больше"-"меньше" у количества.

 Cheesy Cheesy Cheesy
Записан
kit2m2
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1123



« Ответ #4 : 26.08.2016, 18:51:46 »

Зачем два раза подключать jQuery? Уберите одну библиотеку оставьте, которая новее. Сейчас заработало, в другом месте потом не будет работать... какой нибудь косяк все равно вылезет.
Записан
urry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 68


« Ответ #5 : 24.03.2017, 13:17:17 »

Вот были вы отчасти тогда правы. В каком-то смысле в продолжение темы: я наконец дорос до того, что стал анализировать нагрузку на сайт, бороться с ботами (с очень слабым успехом) и т.д. и столкнулся с очень странной вещью:

При попытке уйти от 404 ошибок выяснил, что огромное количество 404 получаю из-за того, что где-то есть ссылка на старую библиотеку jquery, которую я давно удалил, эта ссылка отображается при просмотре page source страниц товара или категории, вот она:

<script src="http://samokraska.ru/components/com_jshopping/js/jquery/jquery-1.6.2.min.js" type="text/javascript"></script>

но я никак не могу найти место, где эта ссылка прописана. Поиск по ВСЕМ файлам сайта вхождения "jquery-1.6.2.min.js" не дает никакого результата.

Как такое может быть? Откуда она может браться. да еще и создавать 7-8-9-10 тысяч запросов к ней в день!

Подскажите, пожалуйста, как можно вычислить откуда берется ссылка на эту библиотеку в коде Sad
Записан
urry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 68


« Ответ #6 : 24.03.2017, 13:56:11 »

Я понял! Нашел!

В "com_jshopping\controllers\product.php" и еще в "\com_jshopping\lib\factory.php" вызов этой библиотеки формируется динамически, вот так:

$document->addScript(JURI::root().'components/com_jshopping/js/jquery/jquery-'.$jshopConfig->load_jquery_version.'.min.js'

Вот думаю - просто убрать эти строчки или подсунуть туда новую версию библиотеки, которую я использую? Но она у меня сейчас подключается извне. Даже не знаю, как лучше. Ядро как-то боЯзно коверкать.

Что думаете, сэры?
Записан
dmitry_stas
Профи
********

Репутация: +925/-6
Online Online

Сообщений: 9751



« Ответ #7 : 24.03.2017, 13:57:34 »

какая версия магазина? старая?
Записан
kit2m2
Живу я здесь
******

Репутация: +102/-0
Offline Offline

Пол: Мужской
Сообщений: 1123



« Ответ #8 : 24.03.2017, 14:00:32 »

Эти запросы - просмотр большого изображения товара. В настройках лайбокс отключите и не будет. Не уверен что будет работать просмотр большого изображения товара в всплывающем окне после отключения.
Записан
urry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 68


« Ответ #9 : 24.03.2017, 15:00:25 »

Да, версия магазина достаточно старая, 3.15.3
Записан
dmitry_stas
Профи
********

Репутация: +925/-6
Online Online

Сообщений: 9751



« Ответ #10 : 24.03.2017, 15:05:27 »

ясно. просто в новых уже все не так. думаю, что в вашем случае можно смело хакнуть движок, и вырезать ненужное. если даже надумаете обновляться, и изменения перезапишутся, то в новых версиях это все равно отключается через настройки.
Записан
urry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 68


« Ответ #11 : 24.03.2017, 15:08:25 »

Ок, понял! Всем спасибо большое!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet