Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Почтовые события

00 голосов
2
Не могу сообразить как реализовать следующее:
есть ИБ, у каждого элемента есть множ. поле "привязка к пользователю".
необходимо чтоб при удалении или деактивации элемента всем кто "привязан" к этому элементу улетало письмо "Так мол и так, элемент такой-то удален".
Может кто нибудь что нибудь посоветует?

-------
Мне думается в сторону события "OnBeforeIBlockElementDelete", удаление происходит в Админ.части, т.о. мне надо обработку писать в init.php???
спросил 03 Июнь, 13 от malagoi (380 баллов)

2 Ответы

00 голосов
Можно обработку событий писать в init.php

Но я думаю событие правильнее выбрать другое. Так вы рискуете отправить письмо пользователю до удаление элемента, - а вдруг элемент не возможно будет удалить либо возникнет внештатная ситуация при его удалении и элемент останеться вживых, а письмо уже улетит.

Расылайте когда элемент уже был удален. Мне кажется так вернее было бы. какое там событие есть еще непомню, OnIBlockElementDelete или OnAfterIBlockElementDelete

Примерно так вот:

Код
AddEventHandler("iblock", "OnBeforeIBlockElementDelete", Array("ElementDeleteHandlerClass", "OnBeforeIBlockElementDeleteHandler"));   //Зарегистрировали обработчик

class ElementDeleteHandlerClass {   
      function OnBeforeIBlockElementDeleteHandler($ID) {
                //Тут пошла обработка 
                //в это событие передаеться вроди бы только ID удаляемого элемента, тоесть придеться еще достать сам элемент и его свойства, вытянуть потом по ним юзеров, достать их мыла и отослать... Незабудь что это событие будет срабатывать для элементов ВСЕХ инфоблоков, а не только того что тебе нужно - поэтому чтбы небыло ошибок лучше проверять , принадлежит ли элемент к нужному инфоблоку и только потом выполнять весь код для отсылки...
}
ответил 03 Июнь, 13 от Tetis (500 баллов)
00 голосов
Спасибо, за совет, Алексей!
Уже так и сделал, осталось только определится OnBeforeIBlockElementDelete или OnAfterIBlockElementDelete всетаки ;)
ответил 09 Июнь, 13 от malagoi (380 баллов)

Похожие вопросы

0 голосов
3 ответов
спросил 11 Март, 14 от Mageradje (660 баллов)
0 голосов
3 ответов
спросил 24 Янв, 14 от NARGL (100 баллов)
0 голосов
4 ответов
спросил 03 Дек, 13 от Ogyrez (240 баллов)
0 голосов
0 ответов
спросил 15 Окт, 13 от gashi (120 баллов)
0 голосов
7 ответов
спросил 14 Июнь, 13 от 5tarik (240 баллов)