Автор Тема: Запись свойств из csv  (Прочитано 529 раз)

14 Январь 2017, 10:54:13
  • Старожил
  • ****
  • Сообщений: 380
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день!
С праздником всех, удачи вам.

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

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

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

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

 Спасибо!
14 Январь 2017, 13:19:02
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Языков сколько на сайте?
14 Январь 2017, 15:38:34
Ответ #2
  • Старожил
  • ****
  • Сообщений: 380
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Один Русский
14 Январь 2017, 17:13:39
Ответ #3
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Такая ошибка может быть из-за того, что у какого-то товара очень длинное мета описание.
По ид определяете товар, редактируете его и пересохраняете. Товар должен сохраняться в админке без ошибок. Тогда при импорте не будет проблем. 
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
14 Январь 2017, 17:56:00
Ответ #4
  • Старожил
  • ****
  • Сообщений: 380
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответ!

Но тут вот в чем..
Весь товар не идет..
2 дня назад ставил на товар все нормально, прошло ОК
Теперь пробовал этот-же поставить csv - ошибка.
И так на весь товар.
Пробовал кеш чистил, не помогло.
Может это быть где-то в скрипте, когда делали переделку?
Может ошибка гдето у них.
15 Январь 2017, 13:42:08
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Включи показ ошибок в prestashop, покажет ошибки в скрипте.
16 Январь 2017, 09:53:13
Ответ #6
  • Старожил
  • ****
  • Сообщений: 380
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо!
Не могу в ключить, сайт не мой.
Уже сказал им пусть смотрят.
16 Январь 2017, 13:47:14
Ответ #7
  • Старожил
  • ****
  • Сообщений: 380
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день!

В блоке 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;Материал: нержавеющая сталь
16 Январь 2017, 16:28:51
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
"-1" потому что не может определить последнюю позицию. Поставь какой-нибуть номер позиции в файл импорта
16 Январь 2017, 17:01:58
Ответ #9
  • Старожил
  • ****
  • Сообщений: 380
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Пробовал, ставил позицию... не идет.
71;Материал: нержавеющая сталь:1

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

Спасибо!
16 Январь 2017, 17:04:24
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Этот товар открой в админке и удали свойство.
16 Январь 2017, 17:21:41
Ответ #11
  • Старожил
  • ****
  • Сообщений: 380
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответ!
Через админку - это да.
Но хотелоь через  csv старые установки удалить, а новые поставить.
Иначе при установке новых значений старые сохраняются.
Возможно удалить через csv?
Товар-Удалить все характеристики.
Спасибо!
17 Январь 2017, 11:18:23
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Ид товара в файле добавь, тогда значения поменяет.
17 Январь 2017, 11:41:17
Ответ #13
  • Старожил
  • ****
  • Сообщений: 380
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответ!

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

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