Не нашли ответы на свои вопросы в наших публикациях? Задайте вопрос в службу техподдержки!
Допустим, если нам предстоит импортировать файл xml из внешнего источника, в котором не соблюдена нормальная форма файла, т.е. дочерние теги не являются однотипными:
в этом случае модуль не может понять, какие именно теги вложены во второй уровень вложенности.
Для этого можно воспользоваться обработчиком OnCopyImportFile, и удалить лишние строки:
Main\EventManager::getInstance()->addEventHandler(
'acrit.import',
'OnCopyImportFile',
static function ($profile, string $fileDest) {
/** @var Acrit\Import\Profile $profile */
file_put_contents(
$fileDest,
preg_replace([
'#<generation-date>.+?</generation-date>#s',
'#internal-id="[^\"]+"#',
], '', file_get_contents($fileDest))
);
}
);
После удаления из файла лишнего тега, модуль начинает корректно распознавать необходимые нам предложения (тег offer):

Спектр задач, решаемых данным обработчиком, позволяющим менять файл перед обработкой гораздо шире: например, можно менять формат колонок файла эксель, или производить любые действия с файлом импорта, поэтому наш модуль и является универсальным.
Назад в раздел
