eventsCalendar2- ошибка JS

Здравствуйте.
Не работает eventsCalendar2. Не появляется список ресурсов при наведении. В консоль Хрома выпадает ошибка Uncaught ReferenceError: $ is not defined eventsCalendar2 строка 2.

Сам сайт на последнем bootstap, jquery 1.11. Дополнительно подключаются fancybox и owl-carousel. На время разработки подключается less компилятор.
Денис
22 февраля 2015, 11:02
modx.pro
1 782
0

Комментарии: 4

Денис
13 мая 2015, 01:29
+1
Может кому поможет в будущем.

Проблема возникала из-за того, что в целях оптимизации верстки библиотека jquery подключается внизу страницы, а eventsCalendar подтягивает свой скрипт вначале.

Прописал jquery вначале страницы — проблема исчезла.
    Василий Наумкин
    13 мая 2015, 07:12
    0
    Да, компонент старенький, кое что там сделано не очень.
      Александр Иванов
      07 октября 2017, 17:56
      0
      Здравствуйте Василий.
      Если когда-нибудь обновите компонент большая просьба убрать избыточный код.
      // // Display events
      // $(document).on('mouseenter', '#Calendar .isevent', function() {
      // 	$('#' + this.id + ' .event').show();
      // });
      // $(document).on('mouseleave', '#Calendar .isevent', function() {
      // 	$('#' + this.id + ' .event').hide();
      // });
      Это всё равно делается средствами CSS :)

      P.S. в остальном компонент классый уже 3 раз использую
    Павел
    09 ноября 2015, 09:41
    1
    +1
    Да зачем подключать jquery в head?) Подскажу решение для данной ситуации.

    В общем скрипт данного компонента подключается с помощью метода regClientStartupScript, который в свою очередь подключает скрипты в начале страницы, то есть между тегами HEAD. Для того, чтобы вызвать скрипт в низу страницы надо использовать другой метод regClientScript.

    Решение

    В файле core/components/eventscalendar2/model/eventscalendar2/eventscalendar2.class.php

    Замените
    $this->modx->regClientStartupScript('<script type="text/javascript" src="'.$this->config['jsUrl'].'eventscalendar2.js"></script>');
    На

    $this->modx->regClientScript('<script type="text/javascript" src="'.$this->config['jsUrl'].'eventscalendar2.js"></script>');
    Примерно 442 строчка
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4