+7 499 938 8452 пн.-пт. 10:00 – 17:00

Не нашли ответы на свои вопросы в наших публикациях? Задайте вопрос в службу техподдержки!


Допустим, если нам предстоит импортировать файл xml из внешнего источника, в котором не соблюдена нормальная форма файла, т.е. дочерние теги не являются однотипными:
2024-12-29_10-40-04.png

в этом случае модуль не может понять, какие именно теги вложены во второй уровень вложенности.

Для этого можно воспользоваться обработчиком 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):

2024-12-29_11-44-00.png

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


Назад в раздел



Часто задаваемые вопросы по модулям экспорта

Видео плейлист по настройке модулей экспорта