Всем привет!
Вижу, что тема уже не актуальна (по срокам), но, все-же опишу, как я решил проблему с дублированием Настраиваемого поля, при импорте через 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');
после пробуем импортировать, и видим, что, дублей нет, т.к. теперь параметр крепится к конкретному Настраиваемому полу...
Не знаю, может я что-то и нарушил при этом, но в моем конкретном случае меня вполне устроил результат...
Пишите свои решения и/или соображения по этому поводу.
Всем удачи!