Что значит "не сработало"? Дайте файл, который импортируете и расскажите подробнее как импортируете.
CatalogFill импорт данных в migX
Участник @andchir написал в CatalogFill импорт данных в migX:
Что значит "не сработало"? Дайте файл, который импортируете и расскажите подробнее как импортируете.
http://playstore.by/xls/ruchka.by_2.xlsx - вот файл с json, добавил в "Дополнительно"
Как импортирую:
https://prnt.sc/j2zxgw
default конфиг:
<?php
//разбивка по столбцам при импорте и экспорте (content|tv|category)
$cf_config['content_row'] = array(
array('Артикул',array(10,'tv')),
array('Наименование',array('pagetitle','content')),
array('Цена',array(11,'tv')),
array('Материал',array(7,'tv')),
array('Вид нанесения',array(9,'tv')),
array('Название',array('title','content')),
array('Дополнительно',array(3,'tv'))
);
//значения по умолчанию при импорте или проверка при экспорте
$cf_config['imp_content_default'] = array(
'content' => array(
'deleted' => 0,
'published' => 1,
'template' => 12,
'createdon' => strtotime("now"),
'publishedon' => strtotime("now")
//'pub_date' => strtotime("now")
//'editedby' => 1
//'editedon' => strtotime("now")
),
'tv' => array(
//7 => 0
)
);
//первая строка - названия полей
$cf_config['include_captions'] = true;
//число товаров импортируемых за один раз (загрузка по группам). 0 - не ограничивать.
$cf_config['batch_import'] = 300;
//разбивать по категориям
$cf_config['include_categories'] = false;
//удалять дочерние категории при очистке и обновлении каталога
$cf_config['delete_subcategories'] = true;
//по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении).
$cf_config['imp_chk_field'] = 'pagetitle';
//проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении).
$cf_config['imp_chk_tvid_val'] = false;
//Добавлять товары, которые не найдены при обновлении по TV (imp_chk_tvid_val) или полю (imp_chk_field)
$cf_config['imp_if_not_exist'] = true;
//удалять HTML-теги при экспорте
$cf_config['exp_strip_tags'] = false;
//автоматически генерировать псевдоним (alias) при импорте
//false - выключено; true - генерировать с переводом в транслит; 'notranslit' - генерировать без перевода в транслит.
$cf_config['imp_autoalias'] = true;
//Изменить значения поля для всех вложенных товаров до начала импорта.
//Например можно отменить публикацию для всех товаров и публиковать только те, которые есть в новом прайс-листе.
//первый массив - какие поля и на какие значения менять, второй массив - условия которые нужно проверять (можно сделать пустым)
$cf_config['imp_before_change'] = false;//'[{"tv.inventory":0},{}]';//'[{"published":0},{"tv.pricename":"Поставщик1"}]';//false - для отмены
//удалить файл после экспорта (скачивания)
$cf_config['exp_delete_file'] = false;
//кодировка CSV-файла при экспорте
$cf_config['exp_csv_charset'] = 'UTF-8'; //'windows-1251'
//Импортировать (обновлять) пустые значения
$cf_config['imp_empty'] = true;
//Имя файла процессора, который использовать для импорта. Если пусто, используется стандартный процессор "import".
$cf_config['imp_custom_processor'] = '';
//путь (xpath) в XML структуре до товаров
$cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers';
//Структура XML файла для импорта
$cf_config['imp_xml_structure'] = <<<EOF
<Good>
<Kod>tv8</Kod>
<Name>pagetitle</Name>
<Options>
<Stock>tv5</Stock>
<Image>tv2</Image>
</Options>
<Prices>
<RegularPrice>tv1</RegularPrice>
<OldPrice>tv20</OldPrice>
</Prices>
</Good>
EOF;
//тестирование конфигурации (без записи в БД). Отчёты -> Журнал ошибок.
$cf_config['imp_testmode'] = false;
//функция для фильтрации значений при ИМПОРТЕ
function filter_import($value_arr){
$output_arr = $value_arr;
/*
if(isset($output_arr['content']['pagetitle']))
$output_arr['content']['pagetitle'] = mb_strtoupper($output_arr['content']['pagetitle'], 'UTF-8');
*/
return $output_arr;
}
//функция для фильтрации значений при ЭКСПОРТЕ
function filter_export($value_arr,$doc_id=0){
$output_arr = $value_arr;
//var_dump($value_arr,$output_arr);
//exit;
/*
if(isset($output_arr['price']))
$output_arr[1] = floatval($output_arr[1]) - 200;
*/
return $output_arr;
}
?>
у migx ID 3, но еще есть куча записей с id 3 (TV) к примеру img я думаю проблема в этом
Попробывал тоже самое сделать с migx_catalog (конфиг)
<?php
//Название класса таблицы товаров в БД
$cf_config['className'] = 'tovvarmulti';
//Название пакета таблицы товаров в БД
$cf_config['packageName'] = 'tovvarmulti';
//Название поля ID родителя
$cf_config['parent_field'] = 'MIGX_id';
//разбивка по столбцам при импорте и экспорте (content|tv|category)
$cf_config['content_row'] = array(
array('Артикул',array(10,'tv')),
array('Наименование',array('pagetitle','content')),
array('Цена',array(11,'tv')),
array('Материал',array(7,'tv')),
array('Вид нанесения',array(9,'tv')),
array('Дополнительно',array(3,'tv'))
);
//значения по умолчанию при импорте или проверка при экспорте
$cf_config['imp_content_default'] = array(
'content' => array(
'deleted' => 0,
'published' => 1,
'template' => 12
//'createdon' => strtotime("now")
//'publishedon' => strtotime("now")
//'pub_date' => strtotime("now")
//'editedby' => 1
//'editedon' => strtotime("now")
),
'tv' => array(
//7 => 0
)
);
//первая строка - названия полей
$cf_config['include_captions'] = true;
//число товаров импортируемых за один раз (загрузка по группам). 0 - не ограничивать.
$cf_config['batch_import'] = 300;
//разбивать по категориям
$cf_config['include_categories'] = false;
//удалять дочерние категории при очистке и обновлении каталога
$cf_config['delete_subcategories'] = true;
//по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении).
$cf_config['imp_chk_field'] = 'pagetitle';
//проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении).
$cf_config['imp_chk_tvid_val'] = false;
//Добавлять товары, которые не найдены при обновлении по TV (imp_chk_tvid_val) или полю (imp_chk_field)
$cf_config['imp_if_not_exist'] = true;
//удалять HTML-теги при экспорте
$cf_config['exp_strip_tags'] = false;
//автоматически генерировать псевдоним (alias) при импорте
//false - выключено; true - генерировать с переводом в транслит; 'notranslit' - генерировать без перевода в транслит.
$cf_config['imp_autoalias'] = true;
//Изменить значения поля для всех вложенных товаров до начала импорта.
//Например можно отменить публикацию для всех товаров и публиковать только те, которые есть в новом прайс-листе.
//первый массив - какие поля и на какие значения менять, второй массив - условия которые нужно проверять (можно сделать пустым)
$cf_config['imp_before_change'] = false;//'[{"tv.inventory":0},{}]';//'[{"published":0},{"tv.pricename":"Поставщик1"}]';//false - для отмены
//удалить файл после экспорта (скачивания)
$cf_config['exp_delete_file'] = false;
//кодировка CSV-файла при экспорте
$cf_config['exp_csv_charset'] = 'UTF-8'; //'windows-1251'
//Импортировать (обновлять) пустые значения
$cf_config['imp_empty'] = true;
//Имя файла процессора, который использовать для импорта. Если пусто, используется стандартный процессор "import".
$cf_config['imp_custom_processor'] = '';
//путь (xpath) в XML структуре до товаров
$cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers';
//Структура XML файла для импорта
$cf_config['imp_xml_structure'] = '';
//тестирование конфигурации (без записи в БД). Отчёты -> Журнал ошибок.
$cf_config['imp_testmode'] = false;
//функция для фильтрации значений при ИМПОРТЕ
function filter_import($value_arr){
$output_arr = $value_arr;
/*
if(isset($output_arr['content']['pagetitle']))
$output_arr['content']['pagetitle'] = mb_strtoupper($output_arr['content']['pagetitle'], 'UTF-8');
*/
return $output_arr;
}
//функция для фильтрации значений при ЭКСПОРТЕ
function filter_export($value_arr,$doc_id=0){
$output_arr = $value_arr;
//var_dump($value_arr,$output_arr);
//exit;
/*
if(isset($output_arr['price']))
$output_arr[1] = floatval($output_arr[1]) - 200;
*/
return $output_arr;
}
?>
Тоже не добавляет(
На скриншоте не понятно что выбрано как родительский ресурс. Покажите ещё скриншот TV чтобы было видно их ID.
Участник @andchir написал в CatalogFill импорт данных в migX:
На скриншоте не понятно что выбрано как родительский ресурс. Покажите ещё скриншот TV чтобы было видно их ID.
Родительский ресурс (тип коллекция) - https://prnt.sc/j318bp
TV migx :
https://prnt.sc/j318ou - Сам блок
Внутренности - https://prnt.sc/j31939
Все доп. поля:
https://prnt.sc/j31a1s
Но с этим вроде все окей, проблема только загрузить таблицу чтобы вышло вот такое:
https://prnt.sc/j31al1
Пока не понятно в чём конкретно проблема. Товары вообще не импортируются или импортируются, но не появляется таблица "Варианты товара"?
Участник @andchir написал в CatalogFill импорт данных в migX:
Пока не понятно в чём конкретно проблема. Товары вообще не импортируются или импортируются, но не появляется таблица "Варианты товара"?
Импортируется все, кроме "варианты товара", в вариантах проставляется фото, вся загвостка только в фото которое работает через migx
https://prnt.sc/j318ou
Что показано на этом скриншоте не понятно.
https://prnt.sc/j31a1s
Тут не вижу TV с ID 3.
Участник @andchir написал в CatalogFill импорт данных в migX:
https://prnt.sc/j318ou
Что показано на этом скриншоте не понятно.https://prnt.sc/j31a1s
Тут не вижу TV с ID 3.
На первом все доп. поля
на 2-ом вот - https://prnt.sc/j38c46
https://prnt.sc/j38c46
https://prnt.sc/j31939
Какая связь между первым и вторым не понятно. Повторяю: Я не увидел TV в списке, у которого тип ввода migx и у которого ID = 3. Как называется этот TV?
Участник @andchir написал в CatalogFill импорт данных в migX:
У вас товары - это ресурсы MODX или созданы в таблице MIGXDB (не путать с MIGX)?
У меня товары - это ресурсы MODX,
Вот - https://prnt.sc/j38fl2 тут тип ввода MIGX, и сюда заливаются фотографии, а когда редактируешь документ(товар) там есть таблица вида: https://prnt.sc/j38g71 которая как раз забита вот в этом MIGX
Тогда надо указать ID = 6
array('Дополнительно',array(6,'tv'))
А вообще после такого
Попробывал тоже самое сделать с migx_catalog (конфиг)
уже пора было отправлять в бан, т.к. у вас полная путаница в голове.
Участник @andchir написал в CatalogFill импорт данных в migX:
Тогда надо указать ID = 6
array('Дополнительно',array(6,'tv'))
Это при конфиругации default верно?
Это при конфиругации default верно?
Вы можете обозвать его как угодно, но у Вас он "default", наверно.
Участник @andchir написал в CatalogFill импорт данных в migX:
Это при конфиругации default верно?
Вы можете обозвать его как угодно, но у Вас он "default", наверно.
Получилось, спасибо большое за помощь и простите за дотошность)