ТЗ:
1. okaycms 2.1 lite шаблон stok.
2. Нужно добавить промо изображения (акция,гарантия,хит,новинка) в экспорт и импорт товара.
1. Тут backend\ajax\export.php в начале добавим новое поле "special", получится так:
Код: Выделить всё
'meta_description'=> 'Meta description',
'annotation'=> 'Annotation',
'description'=> 'Description',
'images'=> 'Images',
'special'=> 'Special',
'url'=> 'URL'
2. Тут \api\Import.php аналогично:
Код: Выделить всё
'images'=> array('images', 'изображения'),
'special'=> array('special', 'промо-изображения товара'),
'url'=> array('url', 'адрес')
3. Тут \backend\ajax\import.php должно получиться так:
Код: Выделить всё
if (isset($item['featured'])) {
$product['featured'] = intval($item['featured']);
}
if (!empty($item['special'])) {
$product['special'] = trim($item['special']);
}
if (!empty($item['url'])) {
$product['url'] = trim($item['url']);
}
4. Тут \backend\lang\ru.php добавим языковую переменную "import_field_special" :
Код: Выделить всё
$backend_translations->import_field_description = 'Полное описание';
$backend_translations->import_field_images = 'Изображения товара';
$backend_translations->import_field_special = 'Промо изображения товара';
5. Экспортируем товары - в файле csv появился новый столбец "Special" , импортируем его же - все работает.
Кстати у меня разделитель полей "^" - домик, крышка или как там этот символ называется? Заменил, потому как в описании товара часто встречается точка с запятой ( ";") - это стандартный разделитель полей okaycms, поэтому возникают ошибки с правильным разделением полей в csv.
Для экспорта достаточно заменить ";" на "^" здесь \backend\ajax\export.php -получилось так:
Код: Выделить всё
private $column_delimiter = '^';
private $subcategory_delimiter = '/';
private $products_count = 100;
private $export_files_dir = 'backend/files/export/';
private $filename = 'export.csv';
Для импорта так api\Import.php
Код: Выделить всё
protected $import_files_dir = 'backend/files/import/'; // Временная папка
protected $import_file = 'import.csv'; // Временный файл
protected $category_delimiter = ',,'; // Разделитель каегорий в файле
protected $subcategory_delimiter = '/'; // Разделитель подкаегорий в файле
protected $column_delimiter = '^';
protected $products_count = 100;
protected $columns = array();
protected $locale = 'ru_RU.UTF-8';