Здавствуйте!
Мне необходимо периодически изменять некоторые элементы в информационных блоках. Для этого был написан Битрикс-Агент примерно следующего содержания:
если вызвать данный код вручную (вставить на страницу, и запросить эту страницу с сервера в браузере) данный код исправно выбирает и изменяет элементы.
Однако при вызове из агента - нет ни одного выбранного элемента.
Вопрос: как же получить доступ к инфоблокам при выполнении в агенте?
Мне необходимо периодически изменять некоторые элементы в информационных блоках. Для этого был написан Битрикс-Агент примерно следующего содержания:
Код |
---|
<? define('LOG_FILENAME', $_SERVER['DOCUMENT_ROOT'].'/LogItems.log'); // лог для проверки работы агента function MyAgent(){ global $USER; if (!is_object($USER)) $USER = new CUser; CModule::IncludeModule("iblock"); // подключаем инфоблоки $_FILTER = array( .... ); $arSelectFields = array( .... ); $res = CIBlockElement::GetList( //делаем запрос array(), // сортировка $_FILTER, // параметры запроса false, // группирвока false, $arSelectFields ); $i = 0; while($ob = $res->GetNextElement()){ AddMessage2Log("Выбран {$arFields["ID"]}", ''); $arFields = $ob->GetFields(); if( _Некоторое_условие_ ){ $i++; AddMessage2Log("Изменён {$arFields["ID"]}", ''); $el = new CIBlockElement; $arLoadProductArray = Array( .... ); $el->Update($arFields["ID"], $arLoadProductArray); unset($el); } } AddMessage2Log("наверное изменено $i элементов", ''); return "MyAgent();"; } ?> |
если вызвать данный код вручную (вставить на страницу, и запросить эту страницу с сервера в браузере) данный код исправно выбирает и изменяет элементы.
Однако при вызове из агента - нет ни одного выбранного элемента.
Вопрос: как же получить доступ к инфоблокам при выполнении в агенте?
животное = зверь
законченный гентушник
законченный гентушник