Tickets - разное время редактирования комментария
Как для разных разделов установить разное время редактирования для комментариев?
Нужно передать время редактирования (или вообще отключить его) для какого-то конкретного вызова TicketComments?
То есть системная настройка tickets.comment_edit_time не позволяет более точечно настраивать комментарии для разных разделов сайта (доска объявлений, форум, отзывы, комментарии) — у разных разделов должна быть разная логика.
Есть какие-то мысли на этот счёт?
Нужно передать время редактирования (или вообще отключить его) для какого-то конкретного вызова TicketComments?
То есть системная настройка tickets.comment_edit_time не позволяет более точечно настраивать комментарии для разных разделов сайта (доска объявлений, форум, отзывы, комментарии) — у разных разделов должна быть разная логика.
Есть какие-то мысли на этот счёт?
Поблагодарить автора
Отправить деньги
Комментарии: 16
Или хотя-бы как можно полностью отключить время редактирования в одной ветке сайта, а в другом шаблоне чтобы было это время?
У комментариев есть много событий, но события для get нет. Поэтому решение только через костыль — в плагине по событию onMODXInit проверять url и выставлять системную настройку tickets.comment_edit_time соответственно условию.
onMODXInit не получает текущие данные ресурса, лишь 2 бесполезных параметра: contextKey и пустой options.
Но спасибо за идею, достаточно лишь подобрать нужное событие!
Но спасибо за идею, достаточно лишь подобрать нужное событие!
Не, тут только это событие доступно. Поэтому я и написал про URL.
Ниже написали решение без плагина. Вот что значит «Одна голова хорошо...». )
Ниже написали решение без плагина. Вот что значит «Одна голова хорошо...». )
Присоединяюсь к вопросу. Очень нужная вещь сейчас.
Думаю как вариант можно проверять по ID шаблона. Ща поковыряю, может чего найду )))
Думаю как вариант можно проверять по ID шаблона. Ща поковыряю, может чего найду )))
В общем, решение следующее. Без плагинов:
Копируем снипет TiketsComments — переименовав в удобное для вас имя. (чтобы обновлением не затерлось)
И заменяем строку 9 на:
Возможно тут еще есть варианты, но сейчас пока нет времени искать. Думаю, можно Василию написать просьбу сделать параметр этот из коробки. :)
Копируем снипет TiketsComments — переименовав в удобное для вас имя. (чтобы обновлением не затерлось)
И заменяем строку 9 на:
$scriptProperties['commentEditTime'] = $modx->getOption('tickets_comment_edit_time', $scriptProperties, 180);
Где 180 — Время по умолчанию в секундах. tickets_comment_edit_time — Имя переменной которую указываем в параметре снипета.Возможно тут еще есть варианты, но сейчас пока нет времени искать. Думаю, можно Василию написать просьбу сделать параметр этот из коробки. :)
А, гоню. Нельзя его там указать через параметры — не учёл. Ну тогда да, только редактировать.
А я уже испугался и принялся судорожно перебирать варианты с этим параметром )))
Но был бы удобный параметр…
Но был бы удобный параметр…
Увы.
Если кто-то сделает хороший протестированный pull-request с изменением этого параметра для ветки — выпущу новую версию. Сам я пока ничего делать с Tickets не планирую.
Если кто-то сделает хороший протестированный pull-request с изменением этого параметра для ветки — выпущу новую версию. Сам я пока ничего делать с Tickets не планирую.
ок, спасибо!
Не знаю, правильно ли я подал pull-request, но вроде бы получилось (если честно, то я там запутался, я не плотно знаком с гитхабом).
Вкратце, изменил 9-ю строчку на следующую:
Вкратце, изменил 9-ю строчку на следующую:
$scriptProperties['commentEditTime'] = $modx->getOption('commentEditTime', $scriptProperties, $modx->getOption('tickets.comment_edit_time', null, 180));
то есть если не указан параметр, значение берётся из системной настройки. хороший протестированный pull-requestЭто ты уже всё проверил хорошо, протестировал?
Этот параметр нормально сохраняется в БД, потом оттуда получается при редактировании комментов и работает отдельно для разных веток?
каюсь, недопроверил. Забыл про проверку в БД при отправке редактированного коммента…
Похоже действительно только у себя прийдётся копию сниппета создать и юзать везде с этим параметром…
А вот в системной настройке (tickets.comment_edit_time), видимо, нужно указать максимальный, по сайту, период возможности менять комментарий.только так.
Похоже действительно только у себя прийдётся копию сниппета создать и юзать везде с этим параметром…
DEL
При этом вышеизложенный метод будет влиять на показ КНОПКИ комментариев! А вот в системной настройке (tickets.comment_edit_time), видимо, нужно указать максимальный, по сайту, период возможности менять комментарий.
Спасибо за помощь! Твой вариант подходит.
Системная настройка с максимальным значением и параметр для сниппета в разных вызовах.
Системная настройка с максимальным значением и параметр для сниппета в разных вызовах.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.