Перейти к содержанию
nyesi

Счетчик товаров в категориях

Рекомендуемые сообщения

Доброго времени суток.

Пишу загрузчик товаров из excel.

Всё получается, кроме одной - после загрузки не считает счетчик товаров в категориях. Везде 0.  А товары и категории все появляются. Может кто - то сталкивался c таким?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

каким методом считаешь? если стандартным проверь все ли условия sql запроса соблюдены для попадания товара в количество категории

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где можно почитать про эти условия? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это смотря каким методом вы пытаетесь сделать подсчет, если стандартными методами опенкарт то товары скорее всего у вас товары загружаются с иными настройками которые требует соблюдать опенкарт для подсчета, проверьте привязан ли товар к категории, (пишите ли при експорте в магазин привязку товара к категории в таблице product_to_category)  имеет ли статус включено, есть ли количество и тп, по памяти не скажу. вообще на словах сложно обьяснить вы бы кусок кода какой нибудь сбросили) например - как именно считаете

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подсчет должен делать opencart при выводе категорий. Я пишу загрузчик в back end.

 

 
 $this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" .$row[0]. "', sku = '" .$row[0]. "', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '" .$row[2]. "', minimum = '1', subtract = '0', stock_status_id = '" .$sstatus_id. "', date_available = '0', manufacturer_id = '" .$manufacturer_id. "', shipping = '1', price = '" .$product_price. "', points = '0', weight = '0.00', weight_class_id = '0', length = '0.00', width = '0.00', height = '0.00', length_class_id = '0', status = '1', tax_class_id = '0', sort_order = '100', date_added = NOW()"); $product_id = $this->db->getLastId();
		   $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '".$product_id."', language_id = '".$language_id."', name = '".$row[1]."', description  = '', tag = '', meta_title = '', meta_h1 = '', meta_description = '', meta_keyword = ''");
		   
		   $this->db->query("INSERT INTO " . DB_PREFIX . "product_to_store SET product_id = '".$product_id."', store_id = '".$store_id."'");
		   $this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '".$product_id."', category_id = '".$category_id."', main_category = '1'");

А что пишется в таблицу oc_category_path? Подозреваю , что проблема в том что в эту таблицу ничего не пишу

Изменено пользователем nyesi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
добавьте тестовый товар через админку и сравните все столбцы - чем отличается импортированный товар от добавленного

 

stock_status_id = '" .$sstatus_id. "' - не опечатка? переменная правильно написана?

 

ну и еще - пустые поля не обязательно прописывать: upc = '', ean = '', jan = '' - по сути и без них эффект тот же будет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

$sstatus_id. "' - не опечатка! 
Тестовый товар не получилось добавить , так как в админке не выводятся категории куда добавить товар. 

 

Решение в том, что таблицу  oc_category_path тоже надо заполнять.

Как заполнять нашел сдесь: http://stackoverflow.com/questions/15162193/opencart-how-to-accurately-populate-oc-category-path

 

После того как заполнил таблицу  oc_category_path по этой рекомендации счетчик товаров начал работать и все категории появились в админке.

 

Всем спасибо за внимание и ответы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Данный запрос - полный fail. Данные не экранируются, что ведет к проблемам с безопасностью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.