Отображение проданных единиц на странице продукта OpenCartv3

Я пытаюсь показать единицы, проданные для каждого продукта, на странице продукта в OpenCart v3, но продолжаю получать следующую ошибку

Неустранимая ошибка: Неперехваченная ошибка: вызов функции-члена getUnitsSold () при нулевом значении в /Applications/XAMPP/xamppfiles/htdocs/store/catalog/controller/product/product.php:157 Трассировка стека: # 0 / Applications / XAMPP / xamppfiles /htdocs/store/system/engine/action.php(79): ControllerProductProduct-> index () # 1 /Applications/XAMPP/xamppfiles/htdocs/store/catalog/controller/startup/router.php(25): Action- > выполнить (Объект (Реестр)) # 2 /Applications/XAMPP/xamppfiles/htdocs/store/system/engine/action.php(79): ControllerStartupRouter-> index () # 3 / Applications / XAMPP / xamppfiles / htdocs / store /system/engine/router.php(67): Действие-> выполнить (Объект (Реестр)) # 4 /Applications/XAMPP/xamppfiles/htdocs/store/system/engine/router.php(56): Маршрутизатор-> выполнить (Объект (действие)) # 5 /Applications/XAMPP/xamppfiles/htdocs/store/system/framework.php(168): Router-> dispatch (Object (Action), Object (Action)) # 6 / Applications / XAMPP / xamppfiles / htdocs / store / system / startup.php (104): require_once ('/ Applicatio ns / X ... ') # 7 /Applications/XAMPP/xamppfiles/htdocs/store/index.php(19): в /Applications/XAMPP/xamppfiles/htdocs/store/catalog/controller/product/product.php на строка 157

То, что у меня есть до сих пор,

каталог / модель / каталог / product.php

public function getUnitsSold($product_id) {
    $query = $this->db->query("SELECT SUM(op.quantity) AS total FROM `" . DB_PREFIX . "order_product` op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) WHERE o.order_status_id > '0' AND op.product_id = '" . (int)$product_id . "'");
if ($query->row) {
        return $query->row['total'];
    } else {
        return FALSE;
    }
}

и в каталоге / controller / product / product.php

$data['text_units_sold'] = $this->language->get('text_units_sold');
$this->data['units_sold'] = $this->model_catalog_product->getUnitsSold($product_id);

Кто угодно может определить, в чем проблема и решение.

Спасибо.


person Hau Lee    schedule 18.08.2017    source источник


Ответы (1)


Я подозреваю, что в функции, в которой вы вызываете getUnitsSold, вы не сделали

$this->load->model('catalog/product');
person Scott C Wilson    schedule 18.08.2017
comment
Оно работает!!! Большое спасибо, я очень ценю это. Я ломаю голову часами. - person Hau Lee; 18.08.2017