OpenCart 🇺🇦

Схема

private mixed osProducts ( $order_id )

Аргументы

Аргумент Возможный тип Описание
$order_id

Описание

Метод пока еще не документирован.

Исходный код

$this->log('osProducts() - Getting products from');
$order_product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '".(int)$order_id."'");

$response = array();
foreach ($order_product_query->rows as $order_product) {
	$product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE `product_id` = '".(int)$order_product['product_id']."' LIMIT 1");

	if (isset($product_query->row['has_option']) && ($product_query->row['has_option'] == 1)) {
		$product_option_query = $this->db->query("
			SELECT `oo`.`product_option_value_id`
			FROM `" . DB_PREFIX . "order_option` `oo`
				LEFT JOIN `" . DB_PREFIX . "product_option_value` `pov` ON (`pov`.`product_option_value_id` = `oo`.`product_option_value_id`)
				LEFT JOIN `" . DB_PREFIX . "option` `o` ON (`o`.`option_id` = `pov`.`option_id`)
			WHERE `oo`.`order_product_id` = '" . (int)$order_product['order_product_id'] . "'
			AND `oo`.`order_id` = '" . (int)$order_id . "'
			AND ((`o`.`type` = 'radio') OR (`o`.`type` = 'select') OR (`o`.`type` = 'image'))
			ORDER BY `oo`.`order_option_id`
			ASC");

		if ($product_option_query->num_rows != 0) {
			$product_options = array();
			foreach ($product_option_query->rows as $product_option_row) {
				$product_options[] = $product_option_row['product_option_value_id'];
			}

			$var = implode(':', $product_options);

			$response[] = array('pid' => $order_product['product_id'], 'qty' => $order_product['quantity'], 'var' => $var);
		}
	} else {
		$response[] = array('pid' => $order_product['product_id'], 'qty' => $order_product['quantity'], 'var' => null);
	}
}

return $response;