Я пытаюсь показать единицы, проданные для каждого продукта на странице продукта в 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):
Действие-> выполнить (Объект (Реестр)) # 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):
Router-> execute (Object (Action)) # 5
/Applications/XAMPP/xamppfiles/htdocs/store/system/framework.php(168):
Маршрутизатор-> диспетчеризация (Объект (Действие), Объект (Действие)) # 6
/Applications/XAMPP/xamppfiles/htdocs/store/system/startup.php(104):
require_once (‘/ Applications / 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;
}
}
и в каталоге / контроллер / product / product.php
$data['text_units_sold'] = $this->language->get('text_units_sold');
$this->data['units_sold'] = $this->model_catalog_product->getUnitsSold($product_id);
Любой может определить, в чем проблема и решение.
Благодарю.
Я подозреваю, что в функции, где вы вызываете getUnitsSold, вы не сделали
$this->load->model('catalog/product');
Других решений пока нет …