Доброго времени суток всем! Ребята, у меня стоит такая задача: нужно добавить обработчик события onAfterResultAdd через консоль (командную строку PHP) Битрикса. Пробовал делать по аналогии вот с этим: Но ничего не получилось. Мне нужно чтобы этот обработчик работал при событии добавления результат нового заполнения веб-формы, то бишь onAfterResultAdd. Может кто может подсказать? Заранее спасибо))
А задача следующая: нужно сделать особую обработку события добавления нового результата заполнения веб-формы, а именно: при выборе определенной службы, что именно ей отсылалось письмо. Я это реализовал, и все нормально работать. А релизовал это через функцию-обработчик, написанную в файле init.php. Мне на работе поставили такую задачу, цитирую: "раз в битриксе в админке можно создать событие, то значит его можно где-то описать в админке". Звучит бредово, но сказали это найти. Т.е..чтобы можно было создать событие, и чтобы где-то в битриксе было его описание. Я сам понимаю, что описание это пожизненно делается только через написание кода обработки. Но такое задание
Доброго времени суток всем)) Подскажите, может кто знает, где в битриксе описываются события? Т.е..любое событие (добавление результата заполнения веб-формы и т.п.), оно создается битриксом автоматически. И есть стандартная его обработка. Чтобы изменить эту обработку нужно переписать обработчик стандартный, написав свой: в файле init.php или же при создании модуля. Вот..а возможно ли где-то в битриксе как-то просто элементарно это определить обработку события? Чтобы безо всякого написания кодов? И ещё вопрос: если все же только через код, то возможно ли именно в случаем написания функции-обработчика, писать её не в init.php и не через подключения внешних файлов к init.php, а где-нибудь в другом месте. Заранее спасибо))
Доброго времени суток, господа. Подскажите, пожалуйста, вот у меня есть пользователь - некий админ с ограниченными правами доступа (новосозданный). И мне надо ему выдать права на редактирование email-ящиков пользователей определенной группы. Вот как это мне реализовать? На данный момент у этого пользователя есть права на административные разделы: "Рабочий стол", "Контент", "Сервисы". Логично, что нужно выдать права на раздел админ.панели "Настройки". Вот, как мне выдать права на этот раздел? Заранее спасибо
У меня вот было на заводе вот такое вот задание: нужно реализовывать при заполнении веб-формы посылку письма. Это через обработчик события добавления новой формы реализовал, все норм. письма посылаются. Но там было изначально: что есть список из 5 служб, при выборе определенной посылается письмо конкретно ей: статично прописал в коде функции-обработчика, на какие адреса при соответствующем выборе посылать. А потом сказали, что типа если поменяются адреса служб, то админу будет сложно лезть в код и менять там эти адреса и нужно ему дать возможность как-то через админку их менять. У меня появилась такая идея: создать группу пользователей "Службы", добавить в неё эти 5 служб с их почтовыми адресами. И дать админу права доступа на редактирование данных этой группы пользователей. 1) как выдать админу права на редактирование данных именно этой группы (я только знаю, как давать права чтения, редактирования страничек сайта, инфоблоков, а тут не понял как..); 2) вот если я так занесу 5 служб в битрикс ка пользователей, то как потом в функции-обработчике, написанной в файле init.php получить эту информацию? Возможно в каком-то массиве или как-то из самой базы SQL-запросами вручную? Если из базы, то какая табличка за это отвечает, а то что-то не нашел.. 3) возможно у меня неправильный подход к решению поставленной передо мной задачи и есть другие более корректные способы решения, прошу подскажите, пожалуйста, какие ещё могут быть варианты решения. Заранее большое спасибо))))
Понял. спасибо большое) А если регистрировать обработчики событий через RegisterModule, то как это делается: где и как регистрировать и где писать код самого обработчика?
Да я вот даже не знаю, как лучше. Мне просто на заводе дали такое задание: сделать веб-форму, в которой человек выбирает службу, которой хочет отправить письмо. И отправляется ей. Я сделал по вот по такому описанию, а именно: . Т.е. создал событие, почтовый шаблон (с переменными, в которые передаю информацию из обработчика), в init.php написал функцию обработки события добавления новой веб-формы, которая отсылает письмо в нужную службу. И это работает. Но, мне сказали на работе, что при обновлении битрикса файлик init.php будет тоже обновляться, затираться. И мой обработчик в итоге исчезнет при первом же обновлении Битрикса. Сказали сделать с учетом этого, и как сказали: "делай это напрямую в модулях". Пояснений больше не дали. Я вот и не пойму, как это сделать..Вот здесь: в разделе "Система обновлений" нашел следующее: "Важные замечания по работе системы обновлений Система обновлений не изменяет публичную часть. Служебная область изменяется только в рамках необходимости, при этом существующие файлы и записи не изменяются (т.к. они уже могли быть изменены владельцем копии продукта под свои нужды). Ядро продукта может быть изменено системой обновлений сколь угодно сильно (при этом, конечно, обеспечивается обратная совместимость).". а так же: " Служебная область - все подкаталоги каталога /bitrix/, за исключением каталогов /bitrix/modules/ (т.е. ядра продукта) и /bitrix/updates/" init.php - получается, относится к служебной части. И по описанию не понятно, будет ли он затираться при обновлении или нет. я так понял, что битрикс его не трогает, поскольку считает, что этот файл я, как пользователь, уже использовал под свои нужды. Таким образом, мой вопросик: 1) при обновлении битрикса перезаписывается ли файл init.php (лежаший в \bitrix\php_interface\) ; 2) если регистрировать обработчик добавления новой веб-формы через RegisterModule, то где конкретно регистрацию эту прописывать и где код самого обработчика писать? Заранее спасибо
Здравствуйте. У меня тут возникла такая проблемка: написал функцию-обработчик результат заполнения веб-формы и поместил её по инструкции в файлик init.php. Все норм, все работает. Но нужно сделать универсально: т.е..скажем, если будет обновление битрикса, то этот файлик затрется. И функции соотвественно не будет уже никакой. Как мне поступить в данной ситуации, может кто знает? Там как-то вроде можно вообще обработчики добавлять в папки самих модулей, в шаблоны сайта. Читал с оф.документации: . Судя по всему, чтобы обновления не сносили обработчики лучше пользоваться RegisterModuleDependences. Но где имеено в битриксе, в каком файле или где вообще код регистрации и обработки писать? Сам я в битриксе недавно работаю, новичок ещё. Заранее спасибо)