Проблема - выход по сопутствующим продуктам, который показывает на каждом соответствующем поле продукта тот же самый подсчитанный номер в OpenCart. Итак, он видит только основные product_id
. Таким образом, необходимо указать связанный product_id
как-то. Я пробовал много способов, но он не работает для меня. Может ли кто-нибудь помочь мне исправить это?Проблема Эта функция показывает мне тот же самый продукт product_id на сопутствующих продуктах
Существует функция модулей:
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 = '5' AND op.product_id = '" . (int)$product_id . "'");
if ($query->row) {
return $query->row['total'];
} else {
return FALSE;
}
}
И это просто шаблон вывода.
<?php if ($tproducts) { ?>
<?php foreach ($tproducts as $product) { ?>
<?php if ($product['units_sold']) { ?>
<?php echo $text_units_sold; ?> <?php echo $product['units_sold']; ?>
<?php } ?>
<?php } ?>
<?php } ?>
В контроллере, где связанный массив продуктов - это возможность указать, может быть, этот запрос функции, а затем сделать правильный вывод. что-то вроде этого units_sold
?
$data['tproducts'][] = array(
'product_id' => $result['product_id'],
'units_sold' => $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 = '5' AND op.product_id = '" . (int)$product_id . "'"),
);
или, может быть,
$data['tproducts'][] = array(
'product_id' => $result['product_id'],
'units_sold' => $this->model_catalog_product->getUnitsSold($this->request->get['product_id']),
);
' 'the' php echo "hurt"; ?> 'your' php echo "глаза"; ?> '? –
Chris
@ Крис: Удар окончен, да. – twicejr