Joomla
Полезные советы при создании сайтов в CMS Joomla.
После установки Магазина VirtueMart в нем перестали работать кнопки добавления в Корзину, изменения количества товара. В общем, беда.
Эта ошибка связана с конфликтами jquery, которые подгружаются в каждому компоненте и модуле и конфликтуют между собой.
FireBug выдавал ошибку Ява скрипта c tooltip:
TypeError: JQuery(...).tooltip is not a function

В Интернете нашлось такое решение:

Ошибка идет из файла: libraries/cms/html/bootstrap.php

Надо найти код на строке 481.:

$script[] = "\t jQuery('" . $selector . "').tooltip(" . $options . ");";

и заменить ее на:

$script[] = "\t if ( jQuery.isFunction(jQuery.fn.tooltip) ) jQuery('" . $selector . "').tooltip(" . $options . ");";

После замены строки 481, если появляется ошибка про popover, тогда на строке 380:

jQuery('" . $selector . "').popover(" . $options . ");

заменить на:

if ( jQuery.isFunction(jQuery.fn.popover) ) jQuery('" . $selector . "').popover(" . $options . ");

Источник: https://github.com/joomla/joomla-cms/issues/4719 

Следующей проблемой была ошибка vm2front:

vm2front is not a function

Эта ошибка не выдавала выпадающий список регионов России (да и других стран тоже) и не показывала всплывашку при добавлении товара в корзину.
На форумах рекомендуют отключать в Конфиге магазина в разделе Шаблоны - "Стили CSS и сценарии JavaScript" параметры (снять галочки):

  • Использовать внешние библиотеки jQuery Google
  • Использовать Virtuemart jQuery


Но этого оказалось мало. Оказалось, что ошибку вызывал jquery другого модуля и возникал конфликт. Через Firebug или его аналог в Хроме (вызывается через F12) можно посмотреть какой скрипт вызывает ошибку.
Затем я перешла в папку этого скрипта (по пути в Firebug) и (сделав копию файла) заменила его все содержимое пробелом. Таким образом jquery перестал повторно вставляться на сайт и ошибка пропала.

Реклама на сайте

www.cs.viateam.ru
игровые сервера cs 1.6
cs.viateam.ru
Тут
Детские колготки и пижамы оптом
el-form.ru