Важно: При обмене данными можно выбрать одну из кодировок Windows-1251 или UTF-8.

Выбор кодировки

Импорт

В начале рассмотрим импорт страниц. Формат импортируемого CSV файла должен быть следующим:
1 строка — идентификатор поля;
2 строка — название поля;
3 строка — тип поля;
4 и далее — значения.

Все поля должны быть заключены в двойные кавычки ("), а в качестве разделителя следует использовать точку с запятой (;). Пример:


"id";"name";"type-id";"is-active";"template-id";"opisanie";"price"
"id";"Наименование";"Идентификатор типа";"Активность";"Шаблон страницы";"Описание";"Цена"
"native";"native";"native";"native";"native";"text";"price"
"1";"Гарри Поттер";"113";"1";"1";"Классная книга про Гарри Поттера";"400"
"2";"Властелин Колец";"113";"1";"1";"не менее классная книга про хоббитов";"1500"
"3";"Приключения Петрова и Васечкина";"113";"1";"1";"Приключения двух друзей";"800"

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

В поле type-id указывается существующий в системе идентификатор типа данных импортируемой страницы. В случае, если данное поле отсутствует или значение в нем не указано, то автоматически будут созданы страницы типа «Страница контента». Если при импорте указывается раздел сайта, в который импортируются данные, то будет установлен доминантный для этого раздела тип (тип данных, которому принадлежит больше всего страниц в разделе).

Поле is-active отвечает за активность импортируемой страницы. По умолчанию страницы создаются неактивными.

В поле template-id можно указать существующий в системе идентификатор шаблона. Если он не указан, то страницам устанавливается шаблон по умолчанию.

В поле parent-id можно указать идентификатор родительской страницы, это позволит сохранить структуру импортируемых страниц. При не заданном идентификаторе страницы импортируются в раздел, указанный для импорта, либо в корень сайта, если раздел не указан.

Поле is-visible отвечает за то, будет ли видна страница в меню. Если значение не задано, то по умолчанию страница в меню не отображается.

В поле is-deleted можно указать удалена страница или нет. Если данный параметр равен "1", то страница помечается как удалённая и помещается в корзину.

 

Возможно указать следующие типы полей:

native - Название товара, ID товара
string - Текстовая строка
text - Текстовое поле
wysiwyg - HTML-текст
int - Число
float - Число с точкой
boolean - Кнопка-флажок
price - Цена
tags - Теги
relation - Список
multiple-relation - Список со множественным выбором
file - Файл
img_file - Изображение
video_file - Видеоролик
swf_file - Флеш-ролик
multiple_image - Набор изображений
optioned - Составное
symlink - Ссылка на дерево
domain_id - Ссылка на домен
domain_id_list - Ссылка на список доменов

 

В версии 2.8.4.2 появилась возможность экспортировать и импортировать поля типа "Список", "Список со множественным выбором" и "Теги". В файле CSV, это будут типы "relation", "multiple-relation" и "tags" соответственно.

Значения для полей типа "Список с множественным выбором" и "Теги" в CSV файле указываются через запятую, например:


"id";"name";"type-id";"is_active";"template_id";"opisanie";"price";"tags";"avards"
"id";"Наименование";"Идентификатор типа";"Активность";"Идентификатор шаблона";"Описание";"Цена";"Теги";"Премии"
"native";"native";"native";"native";"native";"text";"price";"tags";"multiple-relation"
"1";"Гарри Поттер";"113";"1";"1";"Классная книга про Гарри Поттера";"400";"Хоббиты,Гоблины,Гарри Поттер";"Prometheus Award,Лунная радуга"
"2";"Властелин Колец";"113";"1";"1";"не менее классная книга про хоббитов";"1500;"Гоблины,Орки,Хоббиты";"Аэлита,Локус"
"3";"Приключения Петрова и Васечкина";"113";"1";"1";"Приключения двух друзей";"800";"Петров,Васечкин";"Рваная грелка"

В версии 2.17.84049 появилась возможность экспортировать и импортировать поля типа "Набор изображений", "Составное", "Ссылка на дерево", "Ссылка на домен", "Ссылка на список доменов". В файле CSV, это будут типы "multiple_image", "optioned", "symlink", "domain_id" и "domain_id_list" соответственно.

Пример значения для поля типа "Набор изображений":


"path:./images/939855b068.jpg|alt:|ord:1,path:./images/arrow.png|alt:|ord:2"

Где:
path - путь до изображения;
alt - altname изображения;
ord - порядковый номер.

Пример значения для поля типа "Составное":


"object-id:1277|page-id:|int:1|varchar:|text:|float:500,object-id:1278|page-id:|int:1|varchar:|text:|float:300"

Где:
object-id - id наименования справочника;
page-id - id страницы (оставить пустым);
int:1 - указывает что в поле одно значение;
varchar:|text:|float: - так как значение цифра, то заполняется поле float.

 

При импорте данных в формате CSV создается новый идентификатор пространства имен, равный имени импортируемого файла, если такового нет в системе, а также устанавливается связь между id страниц в файле и id страниц в системе. Таким образом, если соответсвтие было найдено, страница обновляется, а если нет - создается новая.

В случае, когда при импорте у типа объекта отсутствуют указанные в CSV-файле поля, они будут созданы автоматически.

Если при импорте вы используете Open Office Calc, вам необходимо выставить параметры, предлагаемые в настройках: использование кавычек для обозначения текстовых полей, и точки с запятой в качестве разделителя.

subscribes.csv.import

 

Таким образом, файл CSV, выгружаемый на сайт, при просмотре в текстовом редакторе должен быть примерно следующим:

"Id";"Имя";"E-mail";"Иван";"ivan@somedomain.ru"

Экспорт

При экспорте данных в формате CSV идентификатор пространства имен составляется из id сценария экспорта и расширения файла с результатом экспорта (в данном случае - "csv"), например - "1545.csv". Этот идентификатор становится именем файла с результатами экспорта. Во время экспорта в рамках данного пространства имен в системе устанавливается связь между id страниц в системе и id страниц в итоговом файле. Если вы хотите изменить свойства этих страниц в системе при помощи последующего импорта, то необходимо при импорте сохранить имя файла, так как иначе изменится и идентификатор пространства имен. При ненахождении соответвия id страницы в файле и id страницы в системе будет создана новая страница.

Во время экспорта свойства parent-id, type-id, template-id и is-active будут заполнены автоматически.

Если при экспорте вы используете Open Office Calc, вам необходимо выставить следующие параметры: разделитель —  точка с запятой (;),  разделитель текста — двойные кавычки ("), кодировка — Win-1251, «Поле в кавычках как текст». 

subscribes.csv.export

 

Файл CSV, полученный с сайта, при просмотре в текстовом редакторе будет примерно следующим:

"Id";"Название";"Имя";"Фамилия";"E-mail";"Группы пользователей";

1445;"user1";"Иван";"Иванов";"user1@somedomaim.ru";"Супервайзеры"

2697;"user2";"Петр";"Петров";"user2@somedomaim.ru";"Партнеры, Супервайзеры";

2699;"user3";"Дмитрий";"Дмитриев";"user3@somedomaim.ru";"Партнеры, Супервайзеры";

2702;"user4";"Сергей";"Сергеев";"user4@somedomaim.ru";"Партнеры, Супервайзеры";