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

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


RimiderWeb
 Поделиться

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

Как вывести название товара и цену за товар , в историю заказа опенкарт. на страницу /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 год спустя...
  • 1 год спустя...

Вывод списка товаров в истории заказов (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-)

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


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

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

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

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

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

Войти

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

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

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

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

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