Не происходит добавление нового тикета в Tickets
Всем привет!
После установки Tickets 1.6.12-pl не добавляются новые тикеты.
В консоли вижу следующие ошибки:
Помогите разобраться с проблемой.
Спасибо!
После установки Tickets 1.6.12-pl не добавляются новые тикеты.
В консоли вижу следующие ошибки:
Uncaught TypeError: $ is not a function - default.js:729
Uncaught TypeError: $ is not a function - files.js:2
Открываю default.js, в строке 729 следующий код: wrapper: $('#comments-tpanel')
В строке 2 files.js:var form = $('#ticketForm');
Чанк с формой добавления нового тикета не менял.Помогите разобраться с проблемой.
Спасибо!
Комментарии: 24
jQuery не подключён, видимо. Если подключён, то пробуйте заменить $ на jQuery.
Как правильно его подключить?
Самый простой вариант — добавить в секцию head строку
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
А лучше скачать файл с сайта и подключить локальный файл.
Тикет также не добавляется:
default.js:135 Uncaught TypeError: $(...).markItUp is not a function
default.js:213 Uncaught TypeError: $(...).ajaxSubmit is not a function
Ещё что-то не подключено. Какой-то плагин к jQuery.
Качайте jQuery плагины markItUp и jQuery Form Plugin.
Странно, что они автоматически не подключились. Вроде должны идти вместе с компонентом.
Качайте jQuery плагины markItUp и jQuery Form Plugin.
Странно, что они автоматически не подключились. Вроде должны идти вместе с компонентом.
БООООЛЬШУЩЕЕ спасибо! Тикеты добавляются, но теперь не происходит обновления страницы после добавления тикета.
Проверьте в системных настройках Tickets продключены ли у вас стили и скрипты.
И заодно в шаблоне с вызовом формы для добавления тикетов проверьте наличие тегов body и head (обязательно в нижнем регистре).
Вы имеете ввиду tpl.Tickets.form.create?
Нет, я имею ввиду шаблон, где вызывается TicketForm.
С этим все в порядке, спасибо!
Ну, в любом случае, это что-то не нормальное — если у вас есть вышеописанные теги, а скрипты и стили указаны в системных настройках, то нужно смотреть напрямую в коде страницы (во фронэнде), подключены ли файлы tickets.js и другие.
Если не подключены — смотреть журнал ошибок MODX'a.
Если подключены — смотреть консоль (во фронэнде) на наличие других ошибок в скриптах, которые могут прерывать работу скриптов тикетсов. Если ошибок в консоле нет, то, скорее всего, вы удалили какие-то классы в чанках TicketForm, по которым инициализируются функции скриптов.
Если не подключены — смотреть журнал ошибок MODX'a.
Если подключены — смотреть консоль (во фронэнде) на наличие других ошибок в скриптах, которые могут прерывать работу скриптов тикетсов. Если ошибок в консоле нет, то, скорее всего, вы удалили какие-то классы в чанках TicketForm, по которым инициализируются функции скриптов.
Перед выводятся следующие:
<script type="text/javascript" src="/assets/components/tickets/js/web/editor/jquery.markitup.js"></script>
<script type="text/javascript" src="/assets/components/tickets/js/web/default.js"></script>
<script type="text/javascript" src="/assets/components/tickets/js/web/lib/plupload/plupload.full.min.js"></script>
<script type="text/javascript" src="/assets/components/tickets/js/web/files.js"></script>
<script type="text/javascript" src="/assets/components/tickets/js/web/lib/plupload/i18n/ru.js"></script>
Среди них tickets.js нет. Это ошибка?
Нет, default.js — все в норме.
Здесь же jquery.markitup.js и все прочее, необходимое для корректной работы (т.е. не нужно ничего повторно подключать).
Есть ли ошибки в консоли браузера на этой странице?
Здесь же jquery.markitup.js и все прочее, необходимое для корректной работы (т.е. не нужно ничего повторно подключать).
Есть ли ошибки в консоли браузера на этой странице?
Можете глянуть взглядом профессионала? — здесь
Ошибка:
default.js:141 Uncaught TypeError: Cannot read property 'defaults' of undefined
Uncaught TypeError: Cannot read property 'ticket' of undefined
Насколько я понял, скрипт пытается подцепиться визуальный редактор, не находит форму с id=ticket-editor и возвращает ошибку.По этому моменту особо не подскажу (не использую встроенный визивиг), но могу предложить поменять в файле assets/components/tickets/js/web/default.js (а лучше предварительно скопировать его содержимое и перенести в отдельный файл, после чего указать новый путь в системной настройке tickets.frontend_js, чтобы изменение не затёрлось при обновлении) заменить строку:
if (TicketsConfig.enable_editor == true) {
На строку:
if (TicketsConfig.enable_editor == true && TicketsConfig.editor !== "undefined" && TicketsConfig.editor !== undefined) {
Плюс ошибки:
Uncaught TypeError: jQuery(...).fancybox is not a function
Uncaught TypeError: jQuery(...).isotope is not a function
Обе ругаются на отсутствие соответствующих функций в подключаемых скриптах. Решается, соответственно, подключением фансибокса и isotope (не знаю что это).
Спасибо, но замена строки не помогла. После публикации тикета страница не обновляется…
Ну, тогда смотрим консоль браузера после публикации тикета (на момент когда отправка была уже совершена, но страница не обновилась).
Я сейчас сужу по вашей ссылке (самой формы для создания нет), поэтому не могу сказать точнее.
Но пока по прежнему вижу те же ошибки (изменений в вышеописанных строчках нет).
В любом случае, проблема в скриптовой составляющей.
Не за что..)
Я сейчас сужу по вашей ссылке (самой формы для создания нет), поэтому не могу сказать точнее.
Но пока по прежнему вижу те же ошибки (изменений в вышеописанных строчках нет).
В любом случае, проблема в скриптовой составляющей.
Не за что..)
Чтобы увидеть форму, нужно залогиниться с помощью соцсетей справа в сайдбаре.
Ага, вижу.
Попутно всплыли проблемы с jgrowl (по дефолту) и с sisyphus (при попытке отправить форму).
Похоже, почему-то не отрабатываются следующие строки:
А, да, если не секрет — для чего вы подключаете 2 разные версии jquery?
Попутно всплыли проблемы с jgrowl (по дефолту) и с sisyphus (при попытке отправить форму).
Похоже, почему-то не отрабатываются следующие строки:
if (!jQuery().ajaxForm) {
document.write('<script src="' + TicketsConfig.jsUrl + 'lib/jquery.form.min.js"><\/script>');
}
if (!jQuery().jGrowl) {
document.write('<script src="' + TicketsConfig.jsUrl + 'lib/jquery.jgrowl.min.js"><\/script>');
}
if (!jQuery().sisyphus) {
document.write('<script src="' + TicketsConfig.jsUrl + 'lib/jquery.sisyphus.min.js"><\/script>');
}
Попробуйте вначале убрать подключенные вами (руками) скрипты для markitup'a и jquery.form и если это не поможет, то вернуть их и до кучи подключить sisyphus и jgrowl.А, да, если не секрет — для чего вы подключаете 2 разные версии jquery?
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
После удаления подключенных руками скриптов появляется еще одна ошибка:
default.js:213 Uncaught TypeError: $(...).ajaxSubmit is not a function
И тикет на добавляется…
Добавление sisyphus и jgrowl помогло, спасибо!
Остается понять, почему не работали скрипты tickets…
Остается понять, почему не работали скрипты tickets…
После добавления тикета в консоли появляется еще одна ошибка:
default.js:225 Uncaught TypeError: $(...).sisyphus is not a function
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.