UMIhelp

Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: diii3 от 11 Сентября 2011, 19:33:07

Название: Уведомление о новых комментариях на почту
Отправлено: diii3 от 11 Сентября 2011, 19:33:07
Здравствуйте! Подскажите, пожалуйста, как сделать так, чтобы после появления новых комментариев, приходило уведомление на почтовый ящик. Сайт на XSLT шаблоне.
Название: Re:Уведомление о новых комментариях на почту
Отправлено: admin от 11 Сентября 2011, 21:46:36
писать кастом и цеплять его к событию добавления нового комментария
Название: Re:Уведомление о новых комментариях на почту
Отправлено: diii3 от 11 Сентября 2011, 23:11:16
а может пример?)) нет, я понимаю, что должна срабатывать отправка при нажатии кнопки "добавить комментарий", я так делал на php, а вот xslt и все связанное с ним для меня новое и пока не просто разобраться(. Если возможно пример показать был бы очень благодарен!
Название: Re:Уведомление о новых комментариях на почту
Отправлено: admin от 11 Сентября 2011, 23:38:55
нет, вопрос не в xslt, вопрос в другом, когда происходит отправка и сохранения комментария система выполняет функцию post() и внутри неё , после того как комментарий сохранен в системе система добавляет точку события с именем "comments_message_post_do"

$oEventPoint = new umiEventPoint("comments_message_post_do");
$oEventPoint->setMode("after");
$oEventPoint->setParam("topic_id", $parent_element_id);
$oEventPoint->setParam("message_id", $element_id);
$this->setEventPoint($oEventPoint);

теперь через это событие можно добавить какое-то действие, в данном случае отправку сообщения. в wiki на umi есть статья подобной штуки для отправки письма менеджеру если кто отписался на форуме, думаю тут все понятно будет

http://wiki.umisoft.ru/%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BD%D0%B0_%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5

единственное что может вас затруднить это что прописывать вместо
$oAddCommentListener = new umiEventListener("forum_message_post_do", "forum", "newPostMail");
в файле
classes\modules\comments\custom_events.php

пишите так
$oAddCommentListener = new umiEventListener("comments_message_post_do", "comments", "имя_вашей_функции");

вроде из основ все) если не получиться разобраться пишите, поможем)
Название: Re:Уведомление о новых комментариях на почту
Отправлено: diii3 от 12 Сентября 2011, 10:21:43
Посмотрите пожалуйста, так ли я все делаю
содержимое файла __custom.php
<?php
abstract class __custom_forum {


public function newPostMail(umiEventPoint $event) {
 
$message_id  = $event->getParam('message_id');
 
$Name = "Admin otnoshenialux.ru"; //senders name
$email = "mail@otnoshenialux.ru"; //senders e-mail adress
$recipient = "diii3@yandex.ru"; //recipient
$mail_body = "В форум было добавлено новое сообщение. Ссылка на редактирование http://otnoshenialux.ru/admin/forum/edit/$message_id"; //mail body
$subject = "Новое сообщение в форуме"; //subject
$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
 
if(mail($recipient, $subject, $mail_body, $header)){
return true;
} else {
return false;
}
}
};
?>

файла castom_events.php в папке forum не было, его нужно создать? я сделал так
<?php

$oAddCommentListener = new umiEventListener("comments_message_post_do", "comments", "newPostMail");

?>

Не работает(
Название: Re:Уведомление о новых комментариях на почту
Отправлено: diii3 от 13 Сентября 2011, 14:22:30
Вместо файла castom_events.php внес последний код в events.php. Тоже не работает.
Название: Re:Уведомление о новых комментариях на почту
Отправлено: diii3 от 14 Сентября 2011, 13:23:02
Все разобрался! Оказалось, что моей глупости в данном вопросе не было предела) Я изменил скрипт в модуле форума, а нужно было в комментариях. после этого элементарного действия над файлами castom_events.php и events.php в заданной папке все заработало. Спасибо за помощь и извините за мою недальновидность и надоедливость глупыми вопросами!)
Название: Re:Уведомление о новых комментариях на почту
Отправлено: admin от 14 Сентября 2011, 16:46:47
глупых вопросов не бывает)
если вопрос и глупый подскажем или направим куда смотреть)
Название: Re:Уведомление о новых комментариях на почту
Отправлено: diii3 от 15 Сентября 2011, 09:17:16
Спасибо Вам!