Реализация отзывов на tikets
Здравствуйте.
Можно ли на Tikets реализовать следующую систему отзывов?
— все отзывы будут находиться на одной странице.
— форма добавления отзыва должна находиться на этой же странице.
— отзывы должны проходить модерацию.
— на отзывы может отвечать админ или несколько заданных групп пользователей.(у обычных пользователей не должно быть этой возможности)
— форма должна отправляться при помощи ajax.
— отзыв могут добавлять неавторизированные пользователи.
Не смог сделать так что бы тикеты или комментарии могли добавлять неавторизированные пользователи и решил спросить у Вас возможно ли все это реализовать на Tikets?
Можно ли на Tikets реализовать следующую систему отзывов?
— все отзывы будут находиться на одной странице.
— форма добавления отзыва должна находиться на этой же странице.
— отзывы должны проходить модерацию.
— на отзывы может отвечать админ или несколько заданных групп пользователей.(у обычных пользователей не должно быть этой возможности)
— форма должна отправляться при помощи ajax.
— отзыв могут добавлять неавторизированные пользователи.
Не смог сделать так что бы тикеты или комментарии могли добавлять неавторизированные пользователи и решил спросить у Вас возможно ли все это реализовать на Tikets?
Комментарии: 19
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
На сайте вообще нет авторизации.
Указал что комментарии могут писать и гости. передал параметры &tplCommentFormGuest=`my.tpl.Tickets.comment.form.guest` и &tplCommentFormGuest=`my.tpl.Tickets.comment.one.guest`
в этом чанке my.tpl.Tickets.comment.one.guest просто нет кнопки ответить на комментарий, а вот для авторизированных пользователей кнопку, ответить оставил.
Предполагалось что авторизированными пользователями могут быть только админы и модераторы т.к. авторизация есть только в админке.
Так вот я залогиниваюсь в админке перехожу на сайт, но вижу шаблон, который должен видеть гость. Получается авторизация в админке не считается как авторизация на всем сайте? Как будет правильнее реализовать такую вещь?
Вот вызов сниппета
Форма для гостей показывается одна, а для авторизированых пользователей(админа) другая. Все как и должно быть.
Но вот комментарии для всех показываются одинаково, по шаблону описанному в чанке my.tpl.Tickets.comment.one.auth. Параметр &tplCommentGuest=`my.tpl.Tickets.comment.one.guest` просто игнорируется.
Хотя я нашел решение. Тут, наверно, косяк в самом сниппите TicketComments вот в этом месте
Я передаю параметр $allowGuest = 1, поэтому !empty($allowGuest) будет всегда TRUE. И в любом случае условие верно и $tpl = $tplCommentAuth. Нужно без восклицательного знака empty($allowGuest)
Также комментарии не нужны, только ответ от администратора.
Сейчас на странице тикетов выводятся сами тикеты
а далее вместо формы, вызываю ее так
Можно попробовать вешать плагин для анонимных пользователей, присваивающий им авторизацию какого-нибудь дефолтного пользователя, предварительно создав такого.
А каким образом сделать ответ администратором?
[[!TicketComments? &depth=`1`]] — и оставить права комментирования только у администратора.
Ну или можно добавить одно дополнительное tv-поле (допустим, adminComment) и выводить его.
Возможность заполнения, соответственно, оставить только со стороны админки.
Ну или создать небольшой сниппет, проверяющий права юзера, и если юзер — админ, то давать возможность заполнять поле комментария и сохранять значение в tv при отправке.
[[!+modx.user.id:is=`1`:then=`контейнер со ссылкой ответ`]]