Особенности импорта и экспорта CSV в модуле Обмен данными

Материал из Umicms
Перейти к:навигация, поиск

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

id = 13
source_name = 3515.csv

source_name выставляется равным названию импортируемого файла. А в таблице cms3_import_relations, для нового источника импорта проставляются соответствия между id страницы в CSV-файле и id страницы который поставила UMI при создании страницы в системе. В итоге, при повторном импорте данных, по названию файла, в таблице cms3_import_sources определяется id источника импорта, предположим что он равен 13. Потом при обновлении страницы из CSV файла с id = 345_object, в таблице cms3_import_relations ищется строка параметрами:

source_id = 13
old_id    = 345_object

если соответствие найдено, то берется значение в столбце new_id и именно страница с данным page_id обновляется в системе.

Рассмотрим экспорт данных. При экспорте данных в Csv, система может дать название файлу с данными примерно в следующем виде: 5847.csv

и в базе данных, в таблицах cms3_import_sources и cms3_import_relations пропишутся необходимые соответствия. Потом при изменении данных в полученном файле и импорте этого файла, очень важно, чтобы файл, который будет прикреплен к сценарию импорта сохранил свое исходное название, в данном случае это 5847.csv. Если название файла изменится, допустим станет 5847_10.csv, уже существующие данные не обновятся, будут созданы новые страницы, т.к. не найдется соответствий в таблицах cms3_import_sources (название файла) и cms3_import_relations (id страниц, которые должны быть обновлены).