Impex
Как это вообще работает, почему об этом нет в инструкции?
Я слаб в программировании, мне важны инструкции и уроки.
Бился весь день с импортом товаров, настроил конфигурацию, попробовал по ней сделать Экспорт, бинго — работает, часть заполненных товаров выгрузилась. По логике пробую загрузить товары из xls файла, и получаю пустоту, пробую тест, смотрю журнал — все мои поля выгружаются, почему же не появляются товары?
Для справки конфигурация сделана так:
<?php
$impex_config['content_row'] = array(
array('Артикул','article','ms'),
array('Категории',18,'categories'),
array('Наименование','pagetitle','resource'),
array('Цена','price','ms'),
array('Производитель','vendor','ms'),
array('Единица измерения','unit','msoption'),
array('Толщина, мм','depth','msoption'),
array('Ширина, мм','width','msoption'),
array('Длина, мм','length2','msoption'),
array('Плотность, кг/м³','density','msoption'),
array('Порода древесины','wood_species','msoption'),
array('Вес','weight','ms'),
array('Вид','view','msoption'),
);
//значения по умолчанию при импорте или проверка при экспорте
$impex_config['content_default'] = array(
array('template',10),
);
// класс товаров (msProduct / modResource)
$impex_config['resource_class'] = 'msProduct';
// класс категорий (msCategory / modResource / CollectionContainer)
$impex_config['category_class'] = 'msCategory';
// поле идентификации категории (если указывается напрямую, а не цепочкой)
$impex_config['category_id_field'] = 'id';
// по какому полю проверять соответствие товара при обновлении.
$impex_config['chk_field'] = array('article','ms');
// пропускать несуществующие ресурсы (только обновление, без создания).
$impex_config['skip_new'] = false;
// первая строка — названия полей
$impex_config['include_captions'] = false;
// разделители для MIGX-полей в файле array('между элементами', 'между полями внутри элемента')
$impex_config['migx_separators'] = array('||','--');
// количество ресурсов, импортируемых за один проход. 0 — не ограничивать.
$impex_config['batch_import'] = 0;
// на основании какого поля генерировать псевдоним (alias) при импорте (оставьте пустым, если alias указан в файле)
$impex_config['alias_field'] = 'pagetitle';
?>
И знаете, что я все таки нашел в журнале? [parent] =>
Попробовал array('parent','parent','resource'),
И получил наконец выгрузку товаров.
Но столкнулся еще с одной бедой, вес и цены указаны с двумя знаками после запятой в xls, а в товары minishop это все округляется до целых, так как там используется точка.
Что еще нашел,
// по какому полю проверять соответствие товара при обновлении.
$impex_config['chk_field'] = array('pagetitle','resource');
Вот так я получил дубли товаров, не работает соответствие, все загрузилось по новой.
Это что-то недоделанное!!! Я хочу получать за деньги решение своих задач, а не копошится в недоработках
Я слаб в программировании, мне важны инструкции и уроки.
Бился весь день с импортом товаров, настроил конфигурацию, попробовал по ней сделать Экспорт, бинго — работает, часть заполненных товаров выгрузилась. По логике пробую загрузить товары из xls файла, и получаю пустоту, пробую тест, смотрю журнал — все мои поля выгружаются, почему же не появляются товары?
Для справки конфигурация сделана так:
<?php
$impex_config['content_row'] = array(
array('Артикул','article','ms'),
array('Категории',18,'categories'),
array('Наименование','pagetitle','resource'),
array('Цена','price','ms'),
array('Производитель','vendor','ms'),
array('Единица измерения','unit','msoption'),
array('Толщина, мм','depth','msoption'),
array('Ширина, мм','width','msoption'),
array('Длина, мм','length2','msoption'),
array('Плотность, кг/м³','density','msoption'),
array('Порода древесины','wood_species','msoption'),
array('Вес','weight','ms'),
array('Вид','view','msoption'),
);
//значения по умолчанию при импорте или проверка при экспорте
$impex_config['content_default'] = array(
array('template',10),
);
// класс товаров (msProduct / modResource)
$impex_config['resource_class'] = 'msProduct';
// класс категорий (msCategory / modResource / CollectionContainer)
$impex_config['category_class'] = 'msCategory';
// поле идентификации категории (если указывается напрямую, а не цепочкой)
$impex_config['category_id_field'] = 'id';
// по какому полю проверять соответствие товара при обновлении.
$impex_config['chk_field'] = array('article','ms');
// пропускать несуществующие ресурсы (только обновление, без создания).
$impex_config['skip_new'] = false;
// первая строка — названия полей
$impex_config['include_captions'] = false;
// разделители для MIGX-полей в файле array('между элементами', 'между полями внутри элемента')
$impex_config['migx_separators'] = array('||','--');
// количество ресурсов, импортируемых за один проход. 0 — не ограничивать.
$impex_config['batch_import'] = 0;
// на основании какого поля генерировать псевдоним (alias) при импорте (оставьте пустым, если alias указан в файле)
$impex_config['alias_field'] = 'pagetitle';
?>
И знаете, что я все таки нашел в журнале? [parent] =>
Попробовал array('parent','parent','resource'),
И получил наконец выгрузку товаров.
Но столкнулся еще с одной бедой, вес и цены указаны с двумя знаками после запятой в xls, а в товары minishop это все округляется до целых, так как там используется точка.
Что еще нашел,
// по какому полю проверять соответствие товара при обновлении.
$impex_config['chk_field'] = array('pagetitle','resource');
Вот так я получил дубли товаров, не работает соответствие, все загрузилось по новой.
Это что-то недоделанное!!! Я хочу получать за деньги решение своих задач, а не копошится в недоработках
Комментарии: 1
Здравствуйте.
Первой должна идти колонка «Категории»
Первой должна идти колонка «Категории»
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.