Новости Joomla

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

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 загрузку

Автор Mila-luchik

Ответов: 1
Просмотров: 1271
Последний ответ 12.11.2021, 12:20:28
от Mila-luchik
Привязка товаров к категориям при импорте из csv

Автор max_max

Ответов: 8
Просмотров: 1638
Последний ответ 16.08.2021, 18:45:19
от max_max
Импорт/экспорт данных через CSVI формат YML

Автор One

Ответов: 9
Просмотров: 4105
Последний ответ 27.07.2021, 12:27:01
от DeZDemon@
Проблема с импортом картинок через RO csvi

Автор Leva

Ответов: 0
Просмотров: 1386
Последний ответ 15.02.2021, 16:32:41
от Leva
SLUG CSVI

Автор Servelatin

Ответов: 10
Просмотров: 2594
Последний ответ 19.12.2020, 12:17:35
от rsn