Иван Малышин, я правильно понимаю что задача сохранения доп.данных в компонент с помощью setResultCacheKeys будет считаться выполненной если в component_epilog.php вот такой код:
Код
<pre><? print_r($arResult); ?></pre>
покажет мне сохранённые в кеш в result_modifier.php данные?
Экзамен 2, билет 1 Уведомление при добавления пользователя в группу
в задаче есть пункт "Получатели письма – текущие пользователи группы «Контент-редакторы»" , получить список e-mail адресов текущих контент-редакторов пытаюсь с помощью CUser::GetList() вот таким образом:
где GROUP_CONTENT_EDITORS - константа с идентификатором группы "Контент-редакторы".
Если вызвать такой код в файле в корне сайта (например "test.php") всё работает, в init.php - нет. Полагаю что это связано с порядком выполнения страницы а именно с тем что определение пользователя (полагаю что тут и подключается класс CUser) происходит после init.php .
Вопрос, как init.php получить email адреса текущих пользователей состоящих в группе "Контент-редакторы"?
Александр Андреев написал: Иван Малышин , я правильно понимаю что задача сохранения доп.данных в компонент с помощью setResultCacheKeys будет считаться выполненной если в component_epilog.php вот такой код:
Код
<pre><? print_r($arResult); ?></pre>
покажет мне сохранённые в кеш в result_modifier.php данные?
Александр Андреев, если при этом само добавление будет выполнено корректно, то да.
Александр Андреев написал: Если вызвать такой код в файле в корне сайта (например "test.php") всё работает, в init.php - нет. Полагаю что это связано с порядком выполнения страницы а именно с тем что определение пользователя (полагаю что тут и подключается класс CUser) происходит после init.php .
Вопрос, как init.php получить email адреса текущих пользователей состоящих в группе "Контент-редакторы"?
Александр Андреев, мне кажется, в данном случае дело в чём-то другом. Объекта USER могло бы не хватать при выполнении агента. А у вас же обработчик, он просто вызывает функцию, которая прописана в init.php.
А что вы делаете по коду дальше? Как проверяете, работает-не работает?
По поводу, как правильно сделать, чтобы обойти то, что нет объекта: можно создать объект $USER, а потом удалить его.
собственно после изменения/добавления пользователя и присвоения ему группы "контент-редакторы" смотрю в админке Настройки -> Производительность -> Таблицы , таблица b_event, там появляются записи генерируемые CEvent::Send() . В записях EMAIL_TO оказался пустым проверил переменную $userContentEditorsEmail приостановив выполнение кода через die() - она тоже оказалась пустая, хотя отдельно вызвав этот кусок кода в публичной части сайта: