Как вывести сообщение об ошибке в админку Битрикса?
На сайте происходит экспорт товаров на сторонний ресурс через API. Создан отдельный класс для работы с API который вызывается по событию "OnAfterIBlockElementAdd", все работает корректно, Но существуют события когда по какой то причине API отдает ошибку (невалидные данные, лимит аутентификации...). Эти ошибки пишутся в файл логов. (КМ забывает его проверять, от этого и проблема). Стоит задача сообщать КМ об ошибке "алертом на экран". Как это сделать?
public function setItemToOnliner($trueID, $data, $jwtToken)
{
if (!empty($error)) {
AddMessage2Log(print_r('error ONLINER '.$trueID), true));
$this->exportError();
}
}
static function exportError()
{
AddMessage2Log(print_r('error', true));
echo '<script type="text/javascript">alert("error")</script>';
}
Функция exportError() не выводит alert. Подскажите может кто знает как решить...
<?
/*=======================*/
//init.php
/*=======================*/
AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("ExportToPortal", "onlinerExport"));
CModule::AddAutoloadClasses(
'', //не указываем имя модуля, так как автозагрузка устанавливается глобально
array(
'ExportPortal' => '/local/classes/exportportal.php',
)
);
class ExportAll
{
function onlinerExport(&$arFields) {
if ($arFields["IBLOCK_ID"] == 2) {
$Onliner = new ExportPortal;
$Onliner->setOnliner(['ID'=>$arFields['ID'], 'SOLD'=>(!empty($arFields['PROPERTY_VALUES']['338'])) ? 'Y' : 'N' ], $arFields["IBLOCK_SECTION"][0]);
}
}
}
/*=======================*/
//exportportal.php
/*=======================*/
class ExportPortal extends CModule {
public function setOnliner($data, $section)
{
$access = $this->getAccessOnliner();
if (!empty($access['access_token'])) {
$arrOnliner = $this->setItemOnliner($data['ID'], $section);
if (!empty($arrOnliner['ITEM'])) {
if ($data['SOLD']=='Y') {
$this->removeItemOnliner($arrOnliner['ONLINER_ID'], $access['access_token']);
} else {
$this->setItemToOnliner($data['ID'], $arrOnliner, $access['access_token']);
}
}
}
}
public function setItemToOnliner($trueID, $data, $jwtToken)
{
/*.........*/
if (!empty($error)) {
AddMessage2Log(print_r('error ONLINER '.$trueID), true));
$this->exportError();
}
/*.........*/
}
static function exportError()
{
CAdminMessage::ShowMessage('ERROR');
}
}
Битрикс 17.0.9