Условия обработки персональных данных

Сайт использует технические и персональные данные пользователей для получения маркетинговой и статистической информации. Условия обработки персональных данных посетителей можно ознакомиться по ссылке.

В случае Вашего не согласия с этими условиями - просим Вас покинуть данный сайт. Если Вы продолжаете находиться и использовать сайт - Вы автоматически выражаете свое согласие с условиями обработки персональных данных пользователей сайта

X

Обработчики в bitrix не работают. Методика исправления ошибок документации

Рассмотрим методику проверки обработчиков bitrix на на работоспособность.

1. В битриксе обработчики заносяться в файл init.php

Допустим , мы нашли в документации вот такой обработчик

Но он у нас не срабатывает! Как быть? Надо проверить, а работает ли вызов обработчика в api?

Пишем такой код где нибудь на тестовой скрытой странице(не забудьте добавить свой логин пароль):

Находим такой файл, в нем хранятся api методы для юзера.
/bitrix/modules/main/classes/general/user.php

ищем

Далее рассматриваем код функции . В глаза бросается такие участки кода

После этого кода уже можно потестировать, а правильно ли работает api. И где произошел сбой в данных.

Делаем вывод, что мы обработчик огласили OnBeforeUserLogin_addname , а написан OnBeforeUserLogin, т.е. _addname — было лишней частью.
Очень часто бывает, что слово main надо заменить на какое-то еще. Это надо смотреть в конкретном методе api.

Теперь мы можем вставить в обработчик OnBeforeUserLogin($arFields) команду die() b print_r() и наконец то начать тестировать;

например лично у меня пользователь не логинился, и покопавшись по данной методике в коде- я определил, после вызова обработчика в апи- произошло изменение логина пользователя. Затем заглянул в обработчик и ужаснулся- там был левый код, который поганил вход пользователя.

Комментирование закрыто