Функционал импорта и экспорта в csv для какого-либо модуля

Материал из Umicms
Версия от 20:32, 30 декабря 2010; VITL' (обсуждение | вклад) (Новая страница: «В данной статье будет описана функциональная возможность экспорта и импорта данных в csv ф…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

В данной статье будет описана функциональная возможность экспорта и импорта данных в csv формат, это возможно практически в каждом модуле. Различные моменты рассмотрим на примере модуля "Каталог".

Зайдя в модуль "Каталог" и вызвав контекстное меню какого-либо раздела, можно выбрать действие "Экспорт списка в CSV". Сохранив файл экспорта и открыв его в каком-либо текстовом редакторе, допустим Notepad++, мы увидим примерно следующее содержание файла:

"Id";"Название";"Псевдостатический адрес";"Активен";"Цена";"Фотография";
47;"Хомячок пушистый";"homyachok_pushistyj";1;159;"/images/cms/data/hamster_angor.jpg";
49;"Хомячок обычный";"homyachok_obychnyj";1;99;"/images/cms/data/hamster_4.jpg";
50;"Хомячок на колесах";"homyachok_na_kolesah";1;1999;"/images/cms/data/hamster_integr.jpg";
51;"Хомяк";"homyak";1;220;"/images/cms/data/hamster_5.jpg";
52;"Хомячок с улыбкой";"homyachok_smile";1;546;"/images/cms/data/hamster_1.jpg";
53;"Хомячок необыкновенный";"homyachok_neobyknovennyj";1;3450;"/images/cms/data/hamster_koleso_usb.jpg";
54;"Хомяк офигенный";"homyak_ofigennyj";1;2998;"/images/cms/data/hamster_2.jpg";
55;"Хомячок прекрасный";"homyachok_prekrasnyj";1;1356;"/images/cms/data/hamster_vegetar.jpg";
56;"Тестовый хомяк";"testovyj_homyak";1;0;"/images/cms/data/hamster_5.jpg";


Поля, которые экспортируются всегда это: "Id", "Название", "Псевдостатический адрес", "Активен".

Остальные значения полей попадут в экспорт только в том случае, если их значения отображаются при табличном просмотре списка объектов каталога. Эти поля можно активировать по кнопке, которая находится справа от столбца "Название". Данная кнопка открывает список полей, только тех полей, которые есть в родительском типе данных, в данном случае это тип "Объект каталога". Если был создан дочерний тип по отношению к типу "Объект каталога", и у нового типа "Ноутбук" было добавлено поле "Процессор", то это поле не получится добавить в экспорт. Как обойти данное ограничение рассказано в данной статье: Экспорт определенных полей в csv файл

Вернемся к нашему файлу, который был получен при экспорте данных. Первый столбец Id – это page_id страниц, которые мы экспортировали. Файл с данными можно открыть в более привычном редакторе, Excel или OpenOffice, отредактировать некоторые значения полей, а потом произвести импорт данных в тот же раздел. Система найдет страницы по указанным id и перезапишет значения указанные в файле импорта, т.е. произойдет обновление данных. Если вам необходимо создать новые объекты, то id страниц в файле импорта необходимо удалить, сам столбец Id должен присутствовать.

При импорте новых объектов в пустой раздел, они будут созданы с родительским типом данных, в нашем случае это "Объект каталога". Чтобы объекты каталога были созданы не по основному типу данных, необходимо в разделе каталога создать, хотя бы временно, один объект с нужным типом данных, допустим "Ноутбук", тогда при импорте новых данных, объекты каталога будут созданы уже с типом данных "Ноутбук".

В файле для импорта, в первой строке указываются название полей на кириллице, допустим: Яркость, Цвет, Вес; все последующие строки это уже сами значения для каждого объекта.