Romancho354 14 ноября 2014 1 10
Добрый день
Использую Modx Revo 2.3.1.
Никак не могу разобраться со сниппетом [[!TicketComments]]. Будь то админ, аноним или простой пользователь выдает бесконечное "Вы должны авторизоваться, чтобы оставлять комментарии." При использовании параметра &allowGuest=`1` - выводит форму. Контексты - web, mgr, TicketUserPolicy добавлены. В чем может быть причина такого игнорирования меня как админа? :D

Заранее очень благодарен за потраченное время
10 комментариев
Fi1osof1
Fi1osof 14 ноября 2014г в 14:55 #
Добрый день. Вам имеет смысл на modx.pro этот вопрос задать, они же разрабы этого. Но если не помогут, дайте знать.
R
Romancho354 14 ноября 2014г в 20:21 #
Так никто и не ответил. -1 балл только за вопрос поставили :)
Fi1osof1
Fi1osof 14 ноября 2014г в 20:28 #
:)))
Пришлите данные доступа в админку на почту n.lanets@modxclub.ru
Fi1osof1
Fi1osof 14 ноября 2014г в 20:48 #
Здесь был оффтопик-коммент, и был удален за оффтопность. Автор имеет право создать отдельный топик.
Fi1osof1
Fi1osof 14 ноября 2014г в 20:53 #
На самом деле с вашей проблемой все очень просто: тикетс использует проверку аутентификации пользователя в конкретном контексте (текущем).
$authenticated = !empty($this->xpdo->context) && $this->xpdo->user->isAuthenticated($this->xpdo->context->key);

А то, что вы авторизованы в админке (контекст mgr) еще не значит, что вы авторизовались в контексте web. То есть вас там как бы и нету (если проверять жестко по контексту).
Я вам в чанк tpl.Tickets.comment.login прописал вызов сниппета Login, авторизуйтесь во фронте и увидите, что все у вас есть.
Если вы не хотите авторизовываться и в админке и во фронте, то самое простое - написать кратчайший плагин, который в момент авторизации в админке будет делать $modx->user->addSessionContext('web'), и будет вам счастье.
R
Romancho354 14 ноября 2014г в 20:58 #
Огромное спасибо за помощь. Только один вопрос у меня остался. Т.е. если у меня в Доступе контекстов для admin`а добавлено как в документации контекст: web - политика:TicketUserPolicy, то это не имеет значения? Это как раз и смущает :)
Fi1osof1
Fi1osof 14 ноября 2014г в 21:04 #
Дело тут не в тикетсах (как бы). Вы поймите, в данном случае не проверяются политики в принципе. Ведь он же не смотрит есть у вас права на что-то или нет, он просто смотрит авторизованы вы в этом контексте или нет. В данном случае вы авторизованы только в mgr, и просто из-за того, что он видит, что вы не авторизованы в этом контексте, он вас шлет.
Fi1osof1
Fi1osof 14 ноября 2014г в 21:05 #
К слову, я такой механизм не использую. Я просто проверяю права. Или у пользователя есть права на что-то, или их нет.
R
Romancho354 14 ноября 2014г в 21:08 #
Теперь вроде понятно. И в продолжении темы просто вопрос. Пока разбирался с tickets, подключив HybridAuth попытался как в документации залогиниться через Вконтакте. Выдает ошибку OAuth-авторизации. И такое встречал уже и на других сайтах - это косяк мой, HybridAuth или что-то Вконтакте? Не в курсе?
Fi1osof1
Fi1osof 14 ноября 2014г в 21:13 #
Не в курсе. Смотрите логи (если они есть). Может вы у себя настройки ВК неверно указали. Здесь может быть все, что угодно. Но скорее всего ВК вряд ли виноват.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.