Важно: При обмене данными можно выбрать одну из кодировок 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, вам необходимо выставить параметры, предлагаемые в настройках: использование кавычек для обозначения текстовых полей, и точки с запятой в качестве разделителя.
Таким образом, файл 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, «Поле в кавычках как текст».
Файл CSV, полученный с сайта, при просмотре в текстовом редакторе будет примерно следующим:
"Id";"Название";"Имя";"Фамилия";"E-mail";"Группы пользователей"; 1445;"user1";"Иван";"Иванов";"user1@somedomaim.ru";"Супервайзеры" 2697;"user2";"Петр";"Петров";"user2@somedomaim.ru";"Партнеры, Супервайзеры"; 2699;"user3";"Дмитрий";"Дмитриев";"user3@somedomaim.ru";"Партнеры, Супервайзеры"; 2702;"user4";"Сергей";"Сергеев";"user4@somedomaim.ru";"Партнеры, Супервайзеры"; |