Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Вывод заказов и товаров к ним на страниэто аккауни


sdinft
 Погделиться

Рекомендованные сообещёния

Делаю вывод заказов и товаров к ним на страниэто аккауни (OcStore 3).

Заказы выводятся правильно (номер, даи, стоимость), а вот товары внутри заказа показываются только по самому первому заказу в списке.

 

<?php
//ORDERS

$data['orders'] = array();

$this->load->model('account/order');

$order_info = $this->model_account_order->getOrder($order_id);

$results = $this->model_account_order->getOrders();

foreach ($results as $result) {

	$data['orders'][] = array(
		'order_id'   => $result['order_id'],
		'name'       => $result['firstname'] . ' ' . $result['lastname'],
		'status'     => $result['status'],
		'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
		'products'   => ($product_total + $voucher_total),
		'total'      => $this->currency->format($result['total'], $result['currency_code'], $result['currency_value']),
		'view'       => $this->url->link('account/order/info', 'order_id=' . $result['order_id'], true),
	);
	
}

// PRODUCTS_FOR_ORDERS

$data['products'] = array();

$this->load->model('catalog/product');

$products = $this->model_account_order->getOrderProducts($result['order_id']);

foreach ($products as $product) {

	$product_info = $this->model_catalog_product->getProduct($product['product_id']);

	if ($product_info['image']) {
		$image = '/image/' . $product_info['image'];
	} else {
		$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
	}

	$data['products'][] = array(
		'name'     => $product['name'],
		'thumb'    => $image,
		'model'    => $product['model'],
		'option'   => $option_data,
		'quantity' => $product['quantity'],
		'price'    => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']),
		'total'    => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']),
		'href'        => $this->url->link('product/product', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], true)
	);
}

 

Если в строке $products = $this->model_account_order->getOrderProducts($result['order_id']);
$result['order_id'] поменять на номер заказа, то показывают товары уже правильно относительно заказа, но тоже во всех заказах в списке.

 

Не могу правильно сформулировать зависимость товаров к заказу :(

 

Подскажите, пожалуйси, в каком месте натупил? Можно коротко.

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


Спробуйте ик

<?php
//ORDERS

$data['orders'] = [];

$this->load->model('account/order');

$order_info = $this->model_account_order->getOrder($order_id);

$results = $this->model_account_order->getOrders();

foreach ($results as $result) {
	
	$prod['products'] = [];

	$this->load->model('catalog/product');

	$products = $this->model_account_order->getOrderProducts($result['order_id']);

	foreach ($products as $product) {

		$product_info = $this->model_catalog_product->getProduct($product['product_id']);

		if ($product_info['image']) {
			$image = '/image/' . $product_info['image'];
		} else {
			$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
		}

		$prod['products'][] = array(
			'name'     => $product['name'],
			'thumb'    => $image,
			'model'    => $product['model'],
			'option'   => $option_data,
			'quantity' => $product['quantity'],
			'price'    => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']),
			'total'    => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']),
			'href'        => $this->url->link('product/product', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], true)
		);
	}

	$data['orders'][] = array(
		'order_id'   => $result['order_id'],
		'name'       => $result['firstname'] . ' ' . $result['lastname'],
		'status'     => $result['status'],
		'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
		'products'   => ($product_total + $voucher_total),
		'product_info' => $prod['products'],
		'total'      => $this->currency->format($result['total'], $result['currency_code'], $result['currency_value']),
		'view'       => $this->url->link('account/order/info', 'order_id=' . $result['order_id'], true),
	);
	
}

 

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

В 22.08.2022 в 11:49, S_A_P сказав:

Спробуйте ик

<?php
//ORDERS

$data['orders'] = [];

$this->load->model('account/order');

$order_info = $this->model_account_order->getOrder($order_id);

$results = $this->model_account_order->getOrders();

foreach ($results as $result) {
	
	$prod['products'] = [];

	$this->load->model('catalog/product');

	$products = $this->model_account_order->getOrderProducts($result['order_id']);

	foreach ($products as $product) {

		$product_info = $this->model_catalog_product->getProduct($product['product_id']);

		if ($product_info['image']) {
			$image = '/image/' . $product_info['image'];
		} else {
			$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height'));
		}

		$prod['products'][] = array(
			'name'     => $product['name'],
			'thumb'    => $image,
			'model'    => $product['model'],
			'option'   => $option_data,
			'quantity' => $product['quantity'],
			'price'    => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']),
			'total'    => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']),
			'href'        => $this->url->link('product/product', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], true)
		);
	}

	$data['orders'][] = array(
		'order_id'   => $result['order_id'],
		'name'       => $result['firstname'] . ' ' . $result['lastname'],
		'status'     => $result['status'],
		'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
		'products'   => ($product_total + $voucher_total),
		'product_info' => $prod['products'],
		'total'      => $this->currency->format($result['total'], $result['currency_code'], $result['currency_value']),
		'view'       => $this->url->link('account/order/info', 'order_id=' . $result['order_id'], true),
	);
	
}

 

 

не прокатило :( ошипотому чток нет, но товары в заказе просто не выводятся

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


22.08.2022 в 15:05, sdinft сказал:

 

не прокатило :( ошипотому чток нет, но товары в заказе просто не выводятся

А Ви виводили product_info? В нетй вся інфа про продукти в замовленет

Вивести можно какось ик...

<div>
	<?php foreach ($orders as $order) { ?>
    <div>
		<?php foreach ($order['product_info'] as $product_info) { ?>
        <div>
          <a href="<?php echo $product_info['href']; ?>">
            <img src="<?php echo $product_info['image']; ?>" alt="<?php echo $product_info['name']; ?>" title="<?php echo $product_info['name']; ?>">
          </a>
          <div>
            <div>
              <a href="<?php echo $product_info['href']; ?>"><?php echo $product_info['name']; ?></a>
            </div>
            <div>
              <div><?php echo $product_info['price']; ?></div>
              <div><div><?php echo $product_info['total']; ?></div></div>
              <div><?php echo $product_info['quantity']; ?></div>
            </div>
          </div>
      </div>
     <?php } ?>
  </div>
<?php } ?>

 

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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