Помощь Конфликт jQuery (NivoSlider + Virtuemart 2)

Статус
В этой теме нельзя размещать новые ответы.

Menro

web, seo, email, hack
Регистрация
27 Янв 2008
Сообщения
689
Реакции
138
Приветствую всех!
Пришел к Вам за помощью.

Купил тут недавно шаблон на TemplateMonster, установил фулпак - все прошло как всегда, без каких-либо сложностей. Захожу на сайт и вижу, что два модуля (а это почти вся главная страница) не работают. Начал отключать их и выяснилось, что если отключаю использование jQuery в Virtuemart 2, и включаю jQuery в модуле слайдера - он начинает работать, но тогда перестают работать все фишки Virtuemarta. Посмотрел исходный код и как я понял, проблема заключается в том, что слайдер загружается раньше, чем сам jQuery и по-этому он не работает.

Заморочился и нашел сайт на таком же шаблоне, посмотрел как это сделано там, и так:
Скрытое содержимое доступно для зарегистрированных пользователей!


Посмотрел исходный код шаблона и увидел, что у него порядок загрузки скриптов отличается от моего, а именно:

HTML:
<script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
  <script src="/media/system/js/core.js" type="text/javascript"></script>
  <script src="/media/system/js/caption.js" type="text/javascript"></script>
  <script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
[B] <script src="http://wcperegorodki.ru/modules/mod_nivoslider/assets/jquery.nivo.slider.js" type="text/javascript"></script>[/B]
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
  <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
  <script src="http://wcperegorodki.ru/components/com_virtuemart/assets/js/jquery.ui.autocomplete.html.js" type="text/javascript"></script>
  <script src="http://wcperegorodki.ru/components/com_virtuemart/assets/js/jquery.noConflict.js" type="text/javascript"></script>
  <script src="/components/com_virtuemart/assets/js/vmsite.js" type="text/javascript"></script>
  <script src="/components/com_virtuemart/assets/js/facebox.js" type="text/javascript"></script>
  <script src="/components/com_virtuemart/assets/js/vmprices.js" type="text/javascript"></script>
  <script src="http://wcperegorodki.ru/modules/mod_yj_pop_login/src/yj_login_pop.js" type="text/javascript"></script>

и его:

HTML:
<script src="/media/system/js/mootools-core.js" type="text/javascript"></script>
  <script src="/media/system/js/core.js" type="text/javascript"></script>
  <script src="/media/system/js/caption.js" type="text/javascript"></script>
  <script src="/media/system/js/mootools-more.js" type="text/javascript"></script>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
  <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
  <script src="http://santechpomosh.ru/components/com_virtuemart/assets/js/jquery.ui.autocomplete.html.js" type="text/javascript"></script>
  <script src="http://santechpomosh.ru/components/com_virtuemart/assets/js/jquery.noConflict.js" type="text/javascript"></script>
  <script src="/components/com_virtuemart/assets/js/vmsite.js" type="text/javascript"></script>
  <script src="/components/com_virtuemart/assets/js/facebox.js" type="text/javascript"></script>
  <script src="/components/com_virtuemart/assets/js/vmprices.js" type="text/javascript"></script>
  [B]<script src="http://santechpomosh.ru/modules/mod_nivoslider/assets/jquery.nivo.slider.js" type="text/javascript"></script>[/B]
  <script src="http://santechpomosh.ru/modules/mod_yj_pop_login/src/yj_login_pop.js" type="text/javascript"></script>

Вроде бы проблема ясна, надо отрегулировать порядок загрузки скриптов, но только вот вопрос каким образом это сделать? Или может быть проблема вовсе не в этом?

Заранее спасибо за любую помощь в решении моей проблемы.
 
Я бы вначале ручками попробовал прописать шаблоне, путь к скриптам. (только нужно убрать php скрип. автом.вставки скриптов, и вместо него вставить как в рабочей демке.)
 
Действительно может быть проблема в загрузки порядки скриптов. Попробуй в расположении модулей/плагинов в админке сделать как нужно. Я думаю поможет!

В ручную - это крайний случай!
 
jqueryeasy вот это плагин в большинстве случаев помогал

Для просмотра ссылки Войди или Зарегистрируйся

Добавлено Genk0: Нарушение правил раздела: 2 поста подряд
 
зачем вообще использовать оба фреймвока? грузить клиенту и мутулс и jquery? Отрубите загрузку на фронте мутулс, гляньте, может он вообще не используется просто системой грузится, в 90% случаев он и не нужен.

В шаблоне на старте:
unset($this->_scripts[$this->baseurl.'/media/system/js/mootools-core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/mootools-more.js'],
$this->_scripts[$this->baseurl.'/media/system/js/core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/caption.js']);

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

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

и в jquery скрипта который не пашет меняем все $ на jQuery автозаменой
 
Код:
$type = $extras ? 'more' : 'core';
находим эту строчку в файле /libraries/joomla/html/html/behavior.php
там подключается core и more. и в следующих строчках включаем подгрузку или выключаем
JHtml::_('script', 'system/mootools-' . $type . '.js', false, true, false, false, $debug);
JHtml::_('script', 'system/core.js', false, true);

часто так делаю при конфликтах!
 
Действительно может быть проблема в загрузки порядки скриптов. Попробуй в расположении модулей/плагинов в админке сделать как нужно. Я думаю поможет!

В ручную - это крайний случай!
Когда никакие плагины не помогали, а вручную было долго и особо не оплачивалось;) меня несколько раз выручал плагин JB Library. После включения у меня сразу все скрипты стали загружаться в нужном порядке. Как раз на Джумле 2.5 и Вирте 2. Он бесплатный, качайте смело и пользуйтесь: Для просмотра ссылки Войди или Зарегистрируйся
Ну а в остальных случаях, конечно лучше ручками.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху