studio

site development

Последние обновленные статьи

| Печать |
Импорт

Импорт позиций прайс-листа осуществляется с помощью файла импорта в формате CSV. Первая строка файла импорта должна содержать системные имена полей импорта.

Список допустимых системных полей файла импорта:

section - Наименование раздела
category - Наименование категории
sku - Артикул позиции
cost - Цена позиции
weight - вес позиции
name - Наименование позиции
item_type - Тип позиции (0-обычная, 1-разделитель)
description - Полное описание позиции
showcount - Тип выбора позиции (0 - обычный выбор-checkbox; 1 - выбор количества; 2 - выбор одного элемента из группы (радио кнопка) )
radiogroup - Номер группы выбора - номер группы позиций, из списка которых будет выбираться только одна (поле заполняется только для элементов с типом выбора 2).
discount - Наименование скидки для позиции
salestax - Налог (%)
enable_file - Разрешить прикреплять файл (1-да;0-нет)
avail - Количество на складе
defqty - Количество, которое будет выбрано в прайс-листе по умолчанию
primecost - Себестоимость
dropdown - Свойство (выпадающий список)
section_description - Описание раздела
category_description - Описание категории

Имена полей должны быть указаны в первой строке файла импорта. При добавлении новых позиций обязательными являются следующие поля: section, category, sku, name, cost. При обновлении позиции (например, обновлении цен) обязательным является только поле sku. Допускается в первой строке для наглядности укзывать описательное название полей, тогда системные имена полей должны быть указаны во второй строке и при импорте необходимо отметить параметр "Заголовки столбцов" в "Да". Пользовательские поля прайс-листа включаются в файл импорта путем добавления в строку заголовков системного имени пользовательского поля.
Вот пример файла импорта с описательным названием полей в первой строке. Вторая строка файла примера содержит системные имена полей. Файл примера имеет формат XLS. Перед импортом файла-примера необходимо сохранить файл в формате "CSV, разделители запятые" с помощью программы MS Excel. В параметрах импорта перед импортом файла примера следует параметр "Заголовки столбцов" установить в "Да", чтобы процедура импорта пропустила первую строку с описательным названием полей.

Кодировка файла импорта.

При подготовке CSV файла импорта в программе MS Excel, получившийся CSV файл содержит символы в кодировке Windows CP1251. Перед импортом такого файла необходимо в параметрах импорта выбрать перекодировку с CP1251 в универсальный формат UTF8 (параметр "Перекодировка" установить в "CP1251->UTF-8"). Аналог программы Excel из пакета Open Office умеет сохранять csv файлы напрямую в кодировке UTF-8. Если csv файл подотовлен сразу в кодировке UTF-8, то в этом случае параметр перекодировки задавать не нужно.

Символы-разделители.

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

Добавление новых позиций.

При добавлении новых позиций файл импорта должен содержать как минимум 5 полей: section, category, sku, name, cost. Поле sku (Артикул) должно быть уникальным для каждой позиции. В поле section и category указываются имя радела и категории, к которой принадлежит позиция. Если раздела с таким именем не существует, то он будет добавлен. Если категории с таким именем не существует в указанном разделе, то эта категория будет добавлена в этот раздел. Если категория с таким именем существует, но не принадлежит указанному разделу, то эта категория будет перенесена в указанный раздел.

Обновление существующих позиций.

Для обновления существующих позиций (например, обновлении цен) файл импорта должен содержать колонку sku (Артикул) и перечень полей, которые будут обновляться у позиции. Вот пример файла импорта для обновления цен на позиции. Файл содержит колонки sku (Артикул) и cost (цена). В процесе импорта ищется позиция с указанным артикулом и обновляется цена на эту позицию, если таковая находится.

Импорт пользовательских полей прайс-листа.

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

Форматы данных импорта.

Числовые поля цены и количества указываются в виде чисел с разделителем дробной части "точка". Поле "Полное описание" и пользовательские поля прайс-листа допускают включние html кода.
Особый формат имеет поле dropdown (свойство позиции в виде выпадающего списка). Это поле имеет формат: имя:сумма:описание:по умолчанию#.... (например: "желтый:200::default#розовый:300::#зеленый:400::" , двойные двоеточия :: означают, что пропущено описание). Пример формата поля dropdown можно увидеть в примере файла импорта.

Автоматический импорт по расписанию

Система позволяет настроить автоматичексий импорт позиций прайс-листа из CSV файла по расписанию. Для этого достаточно в каталог на сайте /administrator/components/com_ipricecalc/import записать CSV файл импорта. Затем настроить автоматичексий импорт в глобальных параметрах копонента в разделе "АВТОМАТИЧЕСКИЙ ИМПОРТ":
  • файл импорта - выберите файл импорта
  • Секретный код для URL - введите секретный код, который будет использоваться для вызова процедуры импорта с помощью URL ссылки.
  • Установите разделитель столбцов, символ, обрамляющий значения столбцов и разделитель строк, если они отличаются в вашем CSV файле от значений по умолчанию
  • Заголовки столбцов - установите в "Да", если ваш CSV файл импорта содержит в первой строке описательные имена столбцов.
  • Удалить все позиции перед импортом - установите в "Да", если необходимо перед импортом удалить все позиции. Это бывает необходимо, если планируется каждый раз полностью обновлять список позиций из файла импорта. Все же рекомендуется не удалять все позиции перед импортом, а отключать показ ненужных позиций с помощью системного поля импорта published: добавтье в файл импорта колонку с системным полем published, проставьте у всех позиций, которые нужно отключить, в этой колонке значение 0, у позиции, которые нужно отображать - значение 1.
После настройки параметров автоматического импорта добавьте с помощью панели управления хостингом задание cron на вашем сервере, которое будет запускать по расписанию процедуру автоматического импорта с помощью вызова следующего URL: http://www.yoursite.com/index.php?option=com_ipricecalc&task=autoimport&sc=secretcode
где www.yoursite.com - домен вашего сайта, а secretcode - придуманый вами секретный код, заданый в параметре "Секретный код для URL"
Например импорт будет запускаться в 12 часов ночи каждый день. Таким образом достаточно будет периодически при необходимости записывать обновленный файл импорта, чтобы поддерживать позиции прайс-листа в актульном состоянии.

Загрузка большого количества позиций

При загрузке большого количества позиций (больше 3000-5000) скорее всего потрубеутся увеличить лимит на время выполнения скрипта в файле php.ini. Установите параметр max_execution_time в значение 180 (3 минуты). Возможно потребуется большее значение. Подберите значение опытным путем. Если на хостинге нет возможности установить этот параметр с помощью php.ini, то это можно сделать с помощью файла .htaccess, прописав в нем следующую команду: php_value max_execution_time 180.