0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 2683 Просмотров
*

Dianis

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
Здравствуйте.

Помогите пожалуйста разобраться в проблеме.

Стоит Joomla 2.5.14 + VirtueMart 2.0.24 + CSVI 5.9.5 + VirtueMart 2 Product Filter by Custom Fields

Проблема в том что при импорте товаров дублируются значения "Настраиваемых полей"

Т.е. допустим я создал в "Настраиваемых полях" поле с именем "Форма" тип поля "плагин" в плагинах выбрал "Virtuemart 2 multiple customfields plugin" добавил к значения "овал, прямоугольник, квадрат"
Далее я создал .csv файл в open office как положено сохранил его в utf8 разделитель полей ^, разделитель текста |

Код
|product_sku|^|product_name|^|category_path|^|product_price|^|product_s_desc|^|product_desc|^|custom_title|^|custom_param|^|custom_value|^|custom_price|^|published|
|Тест|^|Тест|^|ANTIQUE|^48500^^^|Форма|^|Квадрат|^|param|^^1

В итоге все импортируется нормально, но почемуто получается дубляж значений поля "Форма" как на рисунке 1

Если этот товар взять и повторно сохранить, нажав при редактировании товара "сохранить" то получаем результат как на рисунке 2 т.е. все нормально становится.

Что это ?

*

Dianis

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
Поставил версию  CSVI pro 5.14 - результат тот же...
*

Servelatin

  • Захожу иногда
  • 132
  • 1 / 0
Вопрос решен? аналогичная проблема =(
*

Dianis

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
Версия CSVI pro 5.14
Apache_OpenOffice_4.0.1_Win_x86_install_ru

Обратите внимание на это.

1. product_sku только латиницей
2. порядок столбцов: custom_title, custom_value, custom_param
3. проверьте кодировку (utf8)

« Последнее редактирование: 14.01.2014, 22:08:20 от Dianis »
*

Servelatin

  • Захожу иногда
  • 132
  • 1 / 0
Версия CSVI pro 5.14
Apache_OpenOffice_4.0.1_Win_x86_install_ru

Обратите внимание на это.

1. product_sku только латиницей
2. порядок столбцов: custom_title, custom_value, custom_param
3. проверьте кодировку (utf8)

Спасибо большое за помощь! Но проблему оказалась в другом.
Сегодня с более ясной головой начал копать заново. Возможно поможет кому-то еще:
Дублировались значения настраиваемых полей в фильтре товара, причем только некоторые и постоянно разные (после разных импортов CSVI).
Значения в моём случае должны быть импортированы в виде "<p>Значение</p>". Так вот после импорта оказывалось, что к некоторым в конце прилипал пробел (хотя в csv его нет, проверял).
Получалась запись, вида: "<p>Значение </p>". Что и приводило к дублю. Решение такое:
Заходим в phpMyAdmin, и делаем запрос к бд такого вида: UPDATE НАЗВАНИЕ_ТАБЛИЦЫ SET НАЗВАНИЕ_ПОЛЯ = replace(НАЗВАНИЕ_ПОЛЯ,"<p>ЗНАЧЕНИЕ </p>","<p>ЗНАЧЕНИЕ</p>");

Т.е. мы запросом насильно меняем все кривые поля с лишним пробелом. Есть один минус - после каждого импорта милости прошу заглянуть в бд для очередного запроса.

P.S. за бугром эта тема так же жива, но решений конкретных не нашел нигде. Буду рад увидеть багфикс, решающий всё на корню.
*

kelpi

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
происходит тоже самое, только у меня не используется <p>, и в значениях пробелов нет, по порядку расположения как и нужно, никто не решил проблему?
*

nc97

  • Новичок
  • 1
  • 0 / 0
Всем привет!
Вижу, что тема уже не актуальна (по срокам), но, все-же опишу, как я решил проблему с дублированием Настраиваемого поля, при импорте через CSVI. Может пригодиться кому...

Делаю все на: Joomla!3.7.2, VM 3.2.2, CSVI PRO VirtueMart(3) 7.2.3, plg_csviext_param_csvi_7.2.0.
По логам CSVI вычислил, что зачем-то делается выборка по всем Настраиваемым полям на соответствие парпаметра, и потом это все "льется" в базу.
Испарвил так:
в файле плагина plugins\csviext\param\param.php ищем блок (примерно строка 154):
Код
$query->clear()
    ->select($this->db->quoteName('id'))
    ->from($this->db->quoteName('#__virtuemart_product_custom_plg_param_values'))
    ->where($this->db->quoteName('value'). ' IN (' . implode(',', $qentries). ')')
    ->order($this->db->quoteName('id'));
$this->db->setQuery($query);
$pids = $this->db->loadColumn();
$log->add('Load the parameter value IDs');
и меняем его (ну или добавляем строчку из кода ниже, которая с комментом /* Добавил */)  на:
Код
$query->clear()
    ->select($this->db->quoteName('id'))
    ->from($this->db->quoteName('#__virtuemart_product_custom_plg_param_values'))
    ->where($this->db->quoteName('value'). ' IN (' . implode(',', $qentries). ')')
    ->where($this->db->quoteName('virtuemart_custom_id'). ' = ' . (int) $virtuemart_custom_id) /* Добавил */
    ->order($this->db->quoteName('id'));
$this->db->setQuery($query);
$pids = $this->db->loadColumn();
$log->add('Load the parameter value IDs');

после пробуем импортировать, и видим, что, дублей нет, т.к. теперь параметр крепится к конкретному Настраиваемому полу...

Не знаю, может я что-то и нарушил при этом, но в моем конкретном случае меня вполне устроил результат...

Пишите свои решения и/или соображения по этому поводу.
Всем удачи!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

csvi Pro 7.3.0. Игнорирование существующих полей пи импорте товаров

Автор Viktor

Ответов: 2
Просмотров: 226
Последний ответ 13.12.2019, 22:44:43
от AlexB
CSVI импорт товаров - Ну никак.(РЕШЕНО!)

Автор vtrcmert

Ответов: 129
Просмотров: 42888
Последний ответ 13.09.2019, 16:05:21
от forlan
Импорт/экспорт данных через CSVI формат YML

Автор One

Ответов: 8
Просмотров: 2190
Последний ответ 26.07.2019, 16:23:19
от One
csvi pro как сделать экспорт multivariant полей в ввиде param name

Автор One

Ответов: 1
Просмотров: 291
Последний ответ 09.04.2019, 13:50:20
от khersonzmey
Ошибка импорта товаров через копмонент csvi

Автор TYMON

Ответов: 0
Просмотров: 499
Последний ответ 18.08.2018, 23:20:51
от TYMON