Запись свойств из csv

Автор piter, 14 января 2017, 10:54:13

« назад - далее »

piter

Добрый день!
С праздником всех, удачи вам.

Вопрос такой..
Изменял характеристики товара через csv
Все было нормально, но при записи одного раздела товаров начало выскакивать

Имя (идентификатор: 71) не может быть сохранен(а)
Продукт->свойства meta_description не действует

И значения не меняются..
В чем подвох..
Вот запись

ID;Feature(Name:Value:Position)
71;Материал: нержавеющая сталь,Ширина. см: 63,Высота. см: 62

Спасибо!

Adik

Языков сколько на сайте?

piter


mAgency

Такая ошибка может быть из-за того, что у какого-то товара очень длинное мета описание.
По ид определяете товар, редактируете его и пересохраняете. Товар должен сохраняться в админке без ошибок. Тогда при импорте не будет проблем. 
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

piter

Спасибо за ответ!

Но тут вот в чем..
Весь товар не идет..
2 дня назад ставил на товар все нормально, прошло ОК
Теперь пробовал этот-же поставить csv - ошибка.
И так на весь товар.
Пробовал кеш чистил, не помогло.
Может это быть где-то в скрипте, когда делали переделку?
Может ошибка гдето у них.

Миколас

Включи показ ошибок в prestashop, покажет ошибки в скрипте.

piter

Спасибо!
Не могу в ключить, сайт не мой.
Уже сказал им пусть смотрят.

piter

Добрый день!

В блоке Feature.php
//Executing generated queries
      foreach ($shiftTable as $line)
      {
         $delta = $line['delta'];
         if ($delta == 0)
            continue;
         $delta = $delta > 0 ? '+'.(int)$delta : (int)$delta;
         $minId = $line['minId'];
         $sql = 'UPDATE '._DB_PREFIX_.'feature SET position = '.(int)$delta.' WHERE id_feature = '.(int)$minId;
         Db::getInstance()->execute($sql);
      }


Out of range value for column 'position' at row 1
Из диапазона значений для столбца "position" в строке 1

UPDATE ps_feature SET position = -1 WHERE id_feature = 5

При выводе echo $delta;
Получаю 0-1
Почему ставит -1

Раньше все писалось, теперь нет..

Вот csv

ID;Feature(Name:Value:Position)
71;Материал: нержавеющая сталь

Миколас

"-1" потому что не может определить последнюю позицию. Поставь какой-нибуть номер позиции в файл импорта

piter

Пробовал, ставил позицию... не идет.
71;Материал: нержавеющая сталь:1

На локале проверял по типовой, все нормально.
И еще вопрос.
А как удалить значение свойства ранее поставленное у продукта через csv.
Типа
71;Материал: null
То-есть убрать показ характеристики Материал у продукта 71

Спасибо!

Миколас

Этот товар открой в админке и удали свойство.

piter

Спасибо за ответ!
Через админку - это да.
Но хотелоь через  csv старые установки удалить, а новые поставить.
Иначе при установке новых значений старые сохраняются.
Возможно удалить через csv?
Товар-Удалить все характеристики.
Спасибо!

Миколас

Ид товара в файле добавь, тогда значения поменяет.

piter

Спасибо за ответ!

Но последний вопрос стоял как удалить старые значения свойств перед тем как ставить новые при записи с csv
Это можно решить в AdminImportController
Перед записью свойств удалить старые по ИД продукта.

Спасибо всем решился этот вопрос.