Как сделана техподдержка в магазине Simple Dream
Василий, привет!
Скажи пожалуйста, в магазине store.simpledream.ru есть раздел техподдержки, и я так понимаю созданные там тикеты — приватны и видно их только для самого пользователя, автора дополнения и администраторов.
Вопрос — как такое реализовано? Насколько сильно был изменен стандартный Тикетс для достижения такого функционала?
Скажи пожалуйста, в магазине store.simpledream.ru есть раздел техподдержки, и я так понимаю созданные там тикеты — приватны и видно их только для самого пользователя, автора дополнения и администраторов.
Вопрос — как такое реализовано? Насколько сильно был изменен стандартный Тикетс для достижения такого функционала?
Комментарии: 5
Насколько сильно был изменен стандартный Тикетс для достижения такого функционала?Нинасколько. Нужная логика дописана системными плагинами на создание и открытие страницы.
Понятно, а есть ли возможность выложить в общ. доступ эти плагины в качестве примера?
По моему, я и так делюсь огромным количеством решений и разработок.
Такие вещи делаются под конкретную задачу, они не универсальны, поэтому и выкладывать незачем. Иначе потом будет еще 10 вопросов, что как и почему.
Такие вещи делаются под конкретную задачу, они не универсальны, поэтому и выкладывать незачем. Иначе потом будет еще 10 вопросов, что как и почему.
За что огромное Вам спасибо, мне к примеру, совершенно универсальность не нужна — просто нужен какой-то пример реализации, а дальше кастомизировать механизм надеюсь, позволят собственные знания, которых пока не много, к сожалению (
if ($modx->event->name == 'OnLoadWebDocument') {
$section_root = 15;
if ($modx->resource instanceof Ticket) {
if ($category = $modx->resource->getOne('Section')) {
if ($category->get('parent') == $section_root) {
if (!$modx->user->isMember(array('Group1','Group2'))
&& $modx->resource->get('createdby') != $modx->user->id
&& $category->get('createdby') != $modx->user->id
) {
$modx->sendUnauthorizedPage();
}
}
}
}
elseif ($modx->resource instanceof TicketsSection && $modx->resource->get('parent') == $section_root) {
if (!$modx->user->isMember(array('Group1','Group2')) && $modx->resource->get('createdby') != $modx->user->id) {
$modx->sendUnauthorizedPage();
}
}
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.