Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Название товара и цена за товар в истории заказа опенкарт?


Recommended Posts

Как вывести название товара и цену за товар , в историю заказа опенкарт. на страницу /order. Там где отображаются все заказы . По умолчанию выводится только при просмотре конкретного заказа. 

Надіслати
Поділитися на інших сайтах


9 часов назад, RimiderWeb сказал:

Как вывести название товара и цену за товар , в историю заказа опенкарт. на страницу /order. Там где отображаются все заказы . По умолчанию выводится только при просмотре конкретного заказа. 

 

Аналогично странице order, смотрите там вывод, делайте в списке, вероятно придется дополнительно получить товары для вывода в список

Надіслати
Поділитися на інших сайтах

2 часа назад, Tom сказал:
Цитата

 

Знаю, это удобные плагины для админа. А мне нужны для витрины. Вот как например есть плагины, для упрошенного оформления заказа, которые все этапы заказа переводят на одну страницу, берут нужные переменные с разных страниц и выводят их на одну . Моя же задача. В личном кабинете пользователя есть история заказов и кнопка справа  просмотр информации по заказу. (order/info) .Вот мне нужно все переменные с заказа   перенести в историю заказов. Таким образом получить одну страницу, на которой выводятся все заказы пользователя, с подробной информацией. Хотя по факту нужно не все,. А хотябы перенести имя товара, и цену за товар

Змінено користувачем RimiderWeb
Надіслати
Поділитися на інших сайтах


Вроде как, за страницы история заказов ( order_list.tpl) и информация по заказу (order_info.tpl) отвечает один контроллер order.php . Но почему-то не работают переменные из order_info в order_list.  Сделал копию контроллера, подключил свои файлы представления ( контроллер и файлы копия оригинала , работают правильно как и оригинал), и методом эксперимента в контроллере клоне, вроде как понял почему не работают переменные из order_ info .Они находятся внутри 

public function info() {

и может я конечно совсем нифига не понял, сделал такой вывод. Поскольку находятся внутри этой функции,они больше нигде в файле не определены и  поэтому,они работают только на странице order_info. Да я так перенес переменную     $data['column_name'] это  языковая переменная выводит "название товара", я вынес (копировал) это переменную из конструкции 

public function info() {

в 

public function index() {

и переменная заработала на странице истории заказа (order). А вот тоже самое проделать и вынести имя товара у меня никак не получается(( . Я вот подумал. Мне страница order/info  вообще не нужна, только order ,но чтобы там работали все переменные из order/info. Но я не знаю как их вынести из 

public function info() {

 

Змінено користувачем RimiderWeb
Надіслати
Поділитися на інших сайтах


  • 1 year later...
  • 1 year later...

Вывод списка товаров в истории заказов (order_list.twig) OpenCart 3.x

 

В файле контроллера ("/catalog/controller/account/order.php")

 

Найти

 

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

 

Добавить выше

 

// List Products

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

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

foreach ($products as $product) {
    $option_data = array();
    
    $options = $this->model_account_order->getOrderOptions($result['order_id'], $product['order_product_id']);
    
    foreach ($options as $option) {
        if ($option['type'] != 'file') {
            $value = $option['value'];
        } else {
            $upload_info = $this->model_tool_upload->getUploadByCode($option['value']);
            
            if ($upload_info) {
                $value = $upload_info['name'];
            } else {
                $value = '';
            }
        }
        
        $option_data[] = array(
            'name' => $option['name'],
            'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value)
        );
    }
    
    $data['products'][] = array(
        'name' => $product['name'],
        'href' => $this->url->link('product/product', 'product_id=' . $product['product_id'], true),
        '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']),
        'reorder' => $reorder,
        'return' => $this->url->link('account/return/add', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], true)
    );
}

 

Найти

 

'products'   => ($product_total + $voucher_total),

 

Ниже добавить

 

'list'		 => $data['list_products'],

 

 

В файле шаблона ("/catalog/view/theme/default/template/account/order_list.twig")

 

Найти

 

{% for order in orders %}

 

Ниже, в нужном месте (до {% endfor %}), вставить и стилизовать под себя

 

{% for product in order.products %}
<ul>
	<li class="name"><a href="{{ product.href }}">{{ product.name }}</a></li>
	<li class="option">{% for option in product.option %}<br />&nbsp;<small> - {{ option.name }}: {{ option.value }}</small>{% endfor %}</li>
	<li class="model">{{ product.model }}</li>
	<li class="quantity">{{ product.quantity }}</li>
	<li class="price">{{ product.price }}</li>
	<li class="total">{{ product.total }}</li>
	<li class="reorder">{% if product.reorder %}<a href="{{ product.reorder }}">&nbsp;</a>{% endif %}</li>
	<li class="return"><a href="{{ product.return }}">&nbsp;</a></li>
</ul>
{% endfor %}

 

Готово 8-)

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.