Не нашли ответы на свои вопросы в наших публикациях? Задайте вопрос в службу техподдержки!
Допустим, если нам предстоит импортировать файл 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):
Спектр задач, решаемых данным обработчиком, позволяющим менять файл перед обработкой гораздо шире: например, можно менять формат колонок файла эксель, или производить любые действия с файлом импорта, поэтому наш модуль и является универсальным.
Назад в раздел