При импорте в Minishop2 "alias: field_required"
Здравствуйте!
Импортирую:
site.ru/core/components/minishop2/import/csv.php?key=article&update=1&file=assets/import/import.csv&fields=article,pagetitle,parent,content,tv2,tv3,tv4,tv5,tv6,tv7,tv8,price
При обновлении товара появляется:
Импортирую:
site.ru/core/components/minishop2/import/csv.php?key=article&update=1&file=assets/import/import.csv&fields=article,pagetitle,parent,content,tv2,tv3,tv4,tv5,tv6,tv7,tv8,price
При обновлении товара появляется:
Error on update:
Array
(
[0] => alias: field_required
)
Подскажите, пожалуйста, в чем проблема. Комментарии: 22
У меня такая же проблема.
Названия файлов меняю, юрлы руками переписываю, все равно одно и то же.
Василий, куда копать, с чем связано?
Названия файлов меняю, юрлы руками переписываю, все равно одно и то же.
Василий, куда копать, с чем связано?
Проблема в том, что когда в запросе нет pagetitle, то и вылазит это ошибка.
И это как раз не устраивает, так как у документов уже стоит pagetitle? а если его вносить, то затрутся все названия документов.
Как быть?
необходимо по article обновление сделать, а скрипт отказывается, хотя key=article
И это как раз не устраивает, так как у документов уже стоит pagetitle? а если его вносить, то затрутся все названия документов.
Как быть?
необходимо по article обновление сделать, а скрипт отказывается, хотя key=article
получите pagetitle в скрипте и добавьте в массив data
Володя, если тебя не затруднит, покажи на примере, что надо сделать. С php на «Вы».
Говорит, что для создания ресурса требуется псевдоним документа.
Варианты решения:
1. Включить автоматическую генерацию псевдонимов в настройках MODX (можно использовать yTranslit или Translit)
2. Указывать alias каждому товару в csv.
Ругается, если что, не скрипт импорта, а процессор создания документа. Ровно то же самое будет при попытке создать товар вручную из админки, не указывая поле «Псевдоним».
Варианты решения:
1. Включить автоматическую генерацию псевдонимов в настройках MODX (можно использовать yTranslit или Translit)
2. Указывать alias каждому товару в csv.
Ругается, если что, не скрипт импорта, а процессор создания документа. Ровно то же самое будет при попытке создать товар вручную из админки, не указывая поле «Псевдоним».
Смысл был в том, что товар импортировался из csv, в нем не было pagetitle, по умолчанию создался «ресурс без названия», и вот в этих ресурсах как раз не происходило изменение после повторного импорта.
а если товар был создан руками, то импорт с привязкой к article без указания pagetitle нормально отрабатывал.
Спс за разъяснение, Василий.
Единственный вопрос, а есть способ экспорта msProduct и msCategory в .csv или .xls
а если товар был создан руками, то импорт с привязкой к article без указания pagetitle нормально отрабатывал.
Спс за разъяснение, Василий.
Единственный вопрос, а есть способ экспорта msProduct и msCategory в .csv или .xls
эх е… так обновляйте тогда pagetitle… правльно у вас ошибку и выдает…
так самая беда то как раз в том, что когда потом ручками менялся pagetitle ничего не происходило…
Поэтому и начал искать, как решить проблему.
Поэтому и начал искать, как решить проблему.
Чтобы было понятнее.
Был shopkeeper, теперь переделали в ms2, добавили артикулы на определенные товары для импорта цены по средствам .csv.
И тут возникла проблема, документ создан давным давно, имеет свой pagetitle, имеет свой alias. После активации скрипта для импорта появляется ошибка:
Error on update:
Array
(
[0] => alias: field_required
)
строка в файле csv " Т0000002431;97; шт;137.22; Д0; руб.; "
артикул, наличие и мера измерения и тд и тп.
Задача стоит простая, к товарам, у которого проставили article — добавить данные из строки.
by Володя: «получите pagetitle в скрипте и добавьте в массив data» — пример можно, тк с php на «вы»
Был shopkeeper, теперь переделали в ms2, добавили артикулы на определенные товары для импорта цены по средствам .csv.
И тут возникла проблема, документ создан давным давно, имеет свой pagetitle, имеет свой alias. После активации скрипта для импорта появляется ошибка:
Error on update:
Array
(
[0] => alias: field_required
)
строка в файле csv " Т0000002431;97; шт;137.22; Д0; руб.; "
артикул, наличие и мера измерения и тд и тп.
Задача стоит простая, к товарам, у которого проставили article — добавить данные из строки.
by Володя: «получите pagetitle в скрипте и добавьте в массив data» — пример можно, тк с php на «вы»
if($product = $modx->getObject('msProductData', array('article' => $article))) {
$data['pagetitle'] = $product->getOne('Product')->get('pagetitle');
}
Спс, вот бы еще получить подсказку в какое место воткнуть этот кусок кода.
core/components/minishop2/import/csv.php этот файл?
Короче попал я со своим знанием php, одна надежда на помощь Володи)
core/components/minishop2/import/csv.php этот файл?
Короче попал я со своим знанием php, одна надежда на помощь Володи)
…
Владимир, готов немного замотивировать в денежном эквиваленте.
Задача для меня важная, помоги.
Задача для меня важная, помоги.
напиши скайп vgrish_vgrish
Готового, от меня — нет.
А так написать несложно, наверняка кто-то уже делал.
А так написать несложно, наверняка кто-то уже делал.
Василий, спасибо за компонент.
была проблема
Все отлично работает.
была проблема
Error on update:
Array
(
[0] => alias: field_required
)
Ошибка выходит из за отсутствия поля pagetitle или alias. если есть pagetitle то alias не нужен.Все отлично работает.
Василий, подскажите пож-та, а как импортировать поле size?
если зайти в БД посмотреть, то там будет значение [null,null].
вызов импорта через сайт:
если зайти в БД посмотреть, то там будет значение [null,null].
вызов импорта через сайт:
site.ru/core/components/minishop2/import/csv.php?file=import.csv&fields=alias,pagetitle,size,size&update=1&key=pagetitle&delimeter=|
параметр debug выводит лог:[2015-01-04 01:49:51] (INFO @ /core/components/minishop2/import/csv.php)
Trying to set time limit = 600 sec: done
[2015-01-04 01:49:51] (INFO @ /core/components/minishop2/import/csv.php)
Raw data for import:
Array
(
[0] =>
[1] => test123
[2] => Классика
[3] => Хрусталь
)
[2015-01-04 01:49:51] (INFO @ /core/components/minishop2/import/csv.php)
Array with importing data:
Array
(
[alias] =>
[pagetitle] => test123
[size] => Array
(
[0] => Классика
[1] => Хрусталь
)
[class_key] => msProduct
[context_key] => web
[tvs] =>
)
[2015-01-04 01:49:51] (INFO @ /core/components/minishop2/import/csv.php)
SELECT msProduct.id FROM `modxstv_site_content` AS `msProduct` JOIN `modxstv_ms2_products` `Data` ON msProduct.id = Data.id WHERE `msProduct`.`pagetitle` = :0
Array
(
[/:0\b/] => 'test123'
)
[2015-01-04 01:49:51] (INFO @ /core/components/minishop2/import/csv.php)
SQL query for check for duplicate:
SELECT msProduct.id FROM `modxstv_site_content` AS `msProduct` JOIN `modxstv_ms2_products` `Data` ON msProduct.id = Data.id WHERE `msProduct`.`pagetitle` = 'test123'
[2015-01-04 01:49:51] (INFO @ /core/components/minishop2/import/csv.php)
Key pagetitle = test123 has duplicate.
[2015-01-04 01:49:51] (INFO @ /core/components/minishop2/import/csv.php)
DELETE FROM `modxstv_register_messages` WHERE ( `modxstv_register_messages`.`topic` = :0 AND `modxstv_register_messages`.`id` = :1 )
Array
(
[/:0\b/] => 1
[/:1\b/] => 'a97da629b098b75c294dffdc3e463904'
)
[2015-01-04 01:49:51] (INFO @ /core/components/minishop2/import/csv.php)
Successful update:
Array
(
[id] => 107
[type] => document
[contentType] => text/html
[alias] => test123
[published] => 1
[pub_date] => 0
[unpub_date] => 0
[parent] => 21
[isfolder] =>
[richtext] =>
[template] => 4
[menuindex] => 9
[searchable] => 1
[cacheable] => 1
[createdby] => 1
[createdon] => 2015-01-03 23:30:48
[editedby] => 1
[editedon] => 2015-01-04 01:49:51
[deleted] =>
[deletedon] => 0
[deletedby] => 0
[publishedon] => 2015-01-04 00:30:10
[publishedby] => 1
[donthit] =>
[privateweb] =>
[privatemgr] =>
[content_dispo] => 0
[hidemenu] =>
[class_key] => msProduct
[context_key] => web
[content_type] => 1
[uri] => katalog-svetilnikov/lyustryi-s-pultom/test123.html
[uri_override] => 0
[hide_children_in_tree] => 0
[show_in_tree] => 0
[preview_url] => http://site.ru/katalog-svetilnikov/lyustryi-s-pultom/test123.html
)
[2015-01-04 01:49:51] (INFO @ /core/components/minishop2/import/csv.php)
You in debug mode, so we process only 1 row. Time: 0.5734899 s
разобрался, документ сохранялся в кодировке 1251.
Чтобы при обновлении не выходило ошибки, нужн чтобы брался существующий alias у текущего ресурса. Для этого находим нужное место в csv.php:
$action = 'update';
$data['id'] = $exists->id;
Дописываем туда же строку:$data['alias'] = $exists->get('alias');
я новичек и не могу разобраться куда добавляется позиция вот такое выдает:
Successful update:
Array
(
[id] => 21
[type] => document
[contentType] => text/html
[alias] => resurs-bez-nazvaniya
[published] =>
[pub_date] => 0
[unpub_date] => 0
[parent] => 0
[isfolder] =>
[richtext] => 1
[template] => 0
[menuindex] => 9
[searchable] => 1
[cacheable] => 1
[createdby] => 1
[createdon] => 2017-04-06 11:54:50
[editedby] => 1
[editedon] => 2017-04-06 13:26:16
[deleted] =>
[deletedon] => 0
[deletedby] => 0
[publishedon] => 0
[publishedby] => 0
[donthit] =>
[privateweb] =>
[privatemgr] =>
[content_dispo] => 0
[hidemenu] =>
[class_key] => msProduct
[context_key] => web
[content_type] => 1
[uri] => resurs-bez-nazvaniya
[uri_override] => 0
[hide_children_in_tree] => 0
[show_in_tree] => 0
[article;alias;pagetitle;introtext;price;content;parent] => 11112
[preview_url] => windowsw:81/resurs-bez-nazvaniya
)
Successful update:
Array
(
[id] => 21
[type] => document
[contentType] => text/html
[alias] => resurs-bez-nazvaniya
[published] =>
[pub_date] => 0
[unpub_date] => 0
[parent] => 0
[isfolder] =>
[richtext] => 1
[template] => 0
[menuindex] => 9
[searchable] => 1
[cacheable] => 1
[createdby] => 1
[createdon] => 2017-04-06 11:54:50
[editedby] => 1
[editedon] => 2017-04-06 13:26:16
[deleted] =>
[deletedon] => 0
[deletedby] => 0
[publishedon] => 0
[publishedby] => 0
[donthit] =>
[privateweb] =>
[privatemgr] =>
[content_dispo] => 0
[hidemenu] =>
[class_key] => msProduct
[context_key] => web
[content_type] => 1
[uri] => resurs-bez-nazvaniya
[uri_override] => 0
[hide_children_in_tree] => 0
[show_in_tree] => 0
[article;alias;pagetitle;introtext;price;content;parent] => 11112
[preview_url] => windowsw:81/resurs-bez-nazvaniya
)
тестирую на локальном сервере.
Подскажите, при загрузке кириллицы получается примерно такой результат
Raw data for import:
Array
(
[0] => 0006
[1] => ���
[2] => 2000
[3] => 575
)
Включен translit, но всё равно не создается название страницы. Возможно, нужно как-то по-особому сохранять csv?
Raw data for import:
Array
(
[0] => 0006
[1] => ���
[2] => 2000
[3] => 575
)
Включен translit, но всё равно не создается название страницы. Возможно, нужно как-то по-особому сохранять csv?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.