- Автор темы
- #1
В общем поставил я фильтр товаров Для просмотра ссылки Войди или Зарегистрируйся на OpenCart а также модуль импортаДля просмотра ссылки Войди или Зарегистрируйся, всё с русского сайта, встал вопрос c ипортом характеристик фильтра из Exel файла, для этого на странице товаров в прайсе была создана колонка, в которую в таком виде записываются парметры:Объём жёсткого;250 Гб;Видео память;256 Мб;
Далее я начал править модель импорта, для этого я добавил строчку
, которую разбиваю по знаку ;
, затем передаю в массив products
Затем в функции добавления в базу принимаю и обрабатываю массив:
Однако он обрабатывается некоректно (это самая главная проблема)), кроме того, не хватает проверок на существование такого названия фильтра и такого значения фильтра в базе.
Прилагаю скриншот того, что получается при импорте:
Прилагаю файл export.php с моими правками(я там пробывал сделать проверки) и прайса
Надеюсь на помощь или хотя бы подсказки, что делать)
Далее я начал править модель импорта, для этого я добавил строчку
PHP:
$filter10 = isset($row[36]) ? $row[36] : "";
PHP:
$filter = explode(";", $filter10);
PHP:
$product[39] = $filter;
PHP:
$filter2=$product[39];
foreach ($filter2 as $key => $value) {
$language_id =1;
if (isset($filter2[1])) {
$this->db->query("INSERT INTO " . DB_PREFIX . "category_option SET type = '0', sort_order = '0'");
$option_id = $this->db->getLastId();
$this->db->query("INSERT INTO " . DB_PREFIX . "category_option_description SET option_id = '" . (int)$option_id . "', language_id = '" . (int)$language_id . "' , name = '".$value."'");
}
if (isset($filter2[1])) {
foreach ($categories as $category_id) {
$this->db->query("INSERT INTO " . DB_PREFIX . "category_option_to_category SET option_id = '" . (int)$option_id . "', category_id = '" . (int)$category_id . "'");
}
}
$filter_parametr=next($filter2);
if (isset($filter2[1])) {
$this->db->query("INSERT INTO " . DB_PREFIX . "category_option_value SET option_id = '" . (int)$option_id . "'");
$value_id = $this->db->getLastId();
$this->db->query("INSERT INTO " . DB_PREFIX . "category_option_value_description SET value_id = '" . (int)$value_id . "', option_id = '" . (int)$option_id . "', language_id = '" . (int)$language_id . "', name = '".$filter_parametr."'");
}
if (isset($filter2[1])) {
$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_value SET product_id = '" . (int)$productId . "', value_id = '" . (int)$value_id . "'");
}
}
Прилагаю скриншот того, что получается при импорте:
Прилагаю файл export.php с моими правками(я там пробывал сделать проверки) и прайса
Надеюсь на помощь или хотя бы подсказки, что делать)