Сообщение о ЧЕРНОВИКЕ
Отнял у пользователей возможность публиковать тикеты для создания, так называемой, модерации, по этому рецепту: https://bezumkin.ru/sections/components/2957/
Работает, но, на почту теперь не приходит оповещение о появлении нового тикета. При публикации письмо с уведомлением об этом приходить, а вот если пользователь сохраняет черновик — нет.
Как решить этот вопрос и получать уведомление при создании тикета в даже в черновиках?
Работает, но, на почту теперь не приходит оповещение о появлении нового тикета. При публикации письмо с уведомлением об этом приходить, а вот если пользователь сохраняет черновик — нет.
Как решить этот вопрос и получать уведомление при создании тикета в даже в черновиках?
Комментарии: 18
может хотя бы кто то знает, где приписана отправка письма?
не углубляясь в тему, могу порекомендовать плагин на событие onDocFormSave, который будет проверять published, если 0 то — отсылать уведомление, если 1 то ничего не делать.
Ну и при этом поле createdon
Отсылать уведомление придется в ручную через PHPMailer вытащив все данные из тикета.
Ну и при этом поле createdon
Отсылать уведомление придется в ручную через PHPMailer вытащив все данные из тикета.
не понял, зачем отсылать уведомление вручную? что тогда плагин будет делать?
в ручную, в том смысле, что тебе придется написать код отправки через PHPMailer в этом плагине ну или где-нибудь еще.
ладно, а если пойти другим путем.
Есть возможность редиректить пользователя после публикации тикета не на тикет, а на нужную страницу? Так же как с &redirectUnpublished, только с опубликованным.
Есть возможность редиректить пользователя после публикации тикета не на тикет, а на нужную страницу? Так же как с &redirectUnpublished, только с опубликованным.
Вот все зашибись придумали в Тикетах, кроме этого момента с модерацией. Премодерация через костыль, и письмо при этом не приходит. Чутка недодумали
Да, чутка за тебя твою работу не сделали.
Извини.
Извини.
Не мою работу, а логичный функционал. Согласись, было бы уместно и даже нужно, оповещать о поступивших на модерацию тикетах.
Какую еще модерацию?
Черновик — это черновик, неготовый еще результат. Человек начал что-то писать, сохранил, продолжил позже. Когда закончит — опубликует готовый текст.
Tickets изначально были системой для техподдержки (и в этом качестве сегодня используются в modhost и modstore), а потом переросли в дополнение для сообществ. Никакой модерации ни в том, ни в другом случае не требуется. Именно поэтому, сюрприз!, её и нет.
Если же лично тебе, для твоего случая, она нужна — то тебе её и придётся писать. Тем более, что делается это за 15 минут.
Черновик — это черновик, неготовый еще результат. Человек начал что-то писать, сохранил, продолжил позже. Когда закончит — опубликует готовый текст.
Tickets изначально были системой для техподдержки (и в этом качестве сегодня используются в modhost и modstore), а потом переросли в дополнение для сообществ. Никакой модерации ни в том, ни в другом случае не требуется. Именно поэтому, сюрприз!, её и нет.
Если же лично тебе, для твоего случая, она нужна — то тебе её и придётся писать. Тем более, что делается это за 15 минут.
Да, ты все верно говоришь, черновик это черновик. Да, переросло в дополнение. И в этом качестве было бы кстати иметь возможность не публиковать тикет (он же отзыв, например) не сразу, а сперва модерировать его.
Именно поэтому ты и написал решение-полукостыль для этой цели. И было бы совершенно замечательно, если вместо этого была бы опция аля «отправлять на модерацию» перед публикацией. И это ни разу не сюрприз. Ноо, ты автор ты этой штуковины, тебе решать, само собой, что для нее делать а что нет. Тем более что лучше потратить 15 минут на пару колких комментов, чем на полезное дополнение и небольшую подсказку.
А я для себя обошелся другим простым решением, которое подходит в данном случае. На почту отправляется письмо с сообщением при создании ресурса в папке тикетов.
Именно поэтому ты и написал решение-полукостыль для этой цели. И было бы совершенно замечательно, если вместо этого была бы опция аля «отправлять на модерацию» перед публикацией. И это ни разу не сюрприз. Ноо, ты автор ты этой штуковины, тебе решать, само собой, что для нее делать а что нет. Тем более что лучше потратить 15 минут на пару колких комментов, чем на полезное дополнение и небольшую подсказку.
А я для себя обошелся другим простым решением, которое подходит в данном случае. На почту отправляется письмо с сообщением при создании ресурса в папке тикетов.
<?php
if ($resource->get('parent') == 300) {
$message = $modx->getChunk('mail-tpl');
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,'mail@domen.ru');
$modx->mail->set(modMail::MAIL_FROM_NAME,'От кого');
$modx->mail->set(modMail::MAIL_SUBJECT,'Тема');
$modx->mail->address('to','urmail@domen.ru');
$modx->mail->address('reply-to','urmail@domen.ru');
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
$modx->log(modX::LOG_LEVEL_ERROR,'Произошла ошибка при отправке сообщения: '.$modx->mail->mailer->ErrorInfo);
}
$modx->mail->reset();
}
Это где сие, в плагине?
ты можешь сам написать функционал который организует модерацию статей и сделать пул реквест))) Попутно запулить в документацию как этим пользоваться.
ты можешь сам написать функционал который организует модерацию статей и сделать пул реквест))) Попутно запулить в документацию как этим пользоваться.
Это плагин, на событие OnBeforeDocFormSave, а
Пока еще не могу, плохо знаю xPDO для пул реквестов. Но, скоро обучимся. Тогда с удовольствием
if ($resource->get('parent') == 300) {
id ресурса с тикетами.Пока еще не могу, плохо знаю xPDO для пул реквестов. Но, скоро обучимся. Тогда с удовольствием
Во-первый, лучше использовать событие «OnDocFormSave», так как может возникнуть ситуация, когда тикет не сохранится (по ошибке или кто отменит в плагине). А уведомление о тикете отправится в любом случае.
Во-вторых, есть смысл использовать настройки и чанки Tickets.
Во-вторых, есть смысл использовать настройки и чанки Tickets.
if ($modx->event->name == 'OnDocFormSave' && $resource->class_key = 'Ticket') {
$Tickets = $modx->getService('tickets', 'Tickets', $modx->getOption('tickets.core_path', null, $modx->getOption('core_path') . 'components/tickets/') . 'model/tickets/', $scriptProperties);
$ticket = $resource->toArray();
$Tickets->sendTicketMails($ticket);
}
П.С. Не тестировал.
Спасибо за совет, с событием действительно, пожалуй лучше «OnDocFormSave».
А ваш вариант плагина, на какой емайл должен отправлять?
А ваш вариант плагина, на какой емайл должен отправлять?
Тем кто указан в настройке tickets.mail_bcc
ага. Но не отправляет. Указан id1, т.е. администратор
А тикет создается под учётной записью с id=1?
Нет, тикет создается псевдо-зарегистрированным юзером с другим id, но он и не должен ничего получать, он только создает тикет, а админ должен получить об этом сообщение
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.