Автоматическое обновление списка сообщений в Тикет

у нас на сайте docforyou.ru организованна переписка между врачами и пациентами через комментарии тикетов. У врачей на странице
[[!TicketComments?
&thread=`user-[[!+modx.user.id]]-user-[[+doctor_id]]`
&depth=`2`
&ajaxMode=`button`
&tplCommentForm=`LK2.tpl.Tickets.comment.form`
&tplComments=`MY.tpl.Tickets.comment.wrapper`
&tplCommentAuth=`MY.tpl.Tickets.comment.one.auth`
&tplCommentEmailSubscription=`LK2.tpl.Tickets.comment.email.subscription`
]]
у пациентов на другой странице
[[!TicketComments?
&thread=`user-[[+user_id]]-user-[[!+modx.user.id]]`
&depth=`2`
&ajaxMode=`button`
&tplCommentForm=`LK2.tpl.Tickets.comment.form`
&tplComments=`MY.tpl.Tickets.comment.wrapper`
&tplCommentAuth=`MY.tpl.Tickets.comment.one.auth`
&tplCommentEmailSubscription=`LK2.tpl.Tickets.comment.email.subscription`
]]
нам нужно чтобы сообщения автоматически обновлялись раз в 3 секунды. Делаем клик по tpanel-refresh раз в 3 секунды.
setInterval(function() {
$("#tpanel-refresh").trigger(«click»);
}, 3000);
Проблема в том что это не всегда срабатывает. При первой загрузке страниц врача и пациента как правило не работает. Если например пациент пишет сообщение оно не появляется у врача автоматически. Если страницу врача перегрузить и пациент снова напишет, то это сообщение появляется автоматически у врача через 3 секунды.
Я покопался в коде. Получается что функция getNewComments($name) возвращает пустой массив комментариев даже если есть новые комментарии. Не понятно почему так получается.
Нам нужно чтобы комментарии автоматически обновлялись всегда а не через раз.

Подскажите пожалуйста, как это сделать?
Семен Морозов
31 мая 2017, 13:50
modx.pro
808
0

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

Александр
31 мая 2017, 17:20
0
может кеш виноват?
    Александр
    31 мая 2017, 20:57
    0
    Кеш не при чем. Вроде выяснили в чем дело.
    разобрался в чем косяк. при новой загрузке страницы мои врачи (или мои пациенты) тикеты меняют номер страницы к которой привязана ветка комментариев. Тогда на другой странице мои пациенты (или соответственно мои врачи) скрипт запрашивает дату последнего просмотра комментариев по номеру страницы, не находит эту дату, выбрасывает с ошибкой и соответственно не обновляет комментарии
    Сделал копию TicketComments и в ней прописал чтобы все ветки комментариев были привязаны к одной выбраной странице. Вроде пока работает.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2