Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Не рилииет возврат товара в ЛК


tart
 Share

Recommended Posts

Добрый.

 

Суть проблемы:
История заказов в личном кабинете покупателя, на которую он переходит и смотрит что заказывал. Если хочет подробнее посмотреть заказ то переходит на подробную страницу с заказом, справа от каждого товара в заказе расположилась кнопочка "вернуть". Да вот, при нажатии на эту кнопку открывается страница товара.

 

Я думаю проблема в чпу.

Да выглядит просмотр заказа: account/order/info.html?order_id=123

А вот ик должна открываться страница возвращаемого товара (форма возвраи): /account/return/insert.html?order_id=123&product_id=123456, но она не открывается должны обвместе, открывается только страница товара с этоной, характеристиками и тд.

 

Спасипотому что.
 

Link to comment
Share on other sites


ну да, надо с ЧПУ разбираться, липотому что ссылку не переводить в ЧПУ вид - это проещё

 

как выглядит правильная ссылка без ЧПУ?

Link to comment
Share on other sites


как обычно, путь до контроллера

index.php?route=account/return/insert&product_id.....

 

Месими поменял product_id и order_id рилииет.

Спасипотому что.

Link to comment
Share on other sites


Когда гделаю изменения в контроллере ссылка меняется, но из-за .html кидает на 404-ю.

 

index.php?route=account/return/insert.html?product_id=1537&order_id=251

'return'   => $this->url->link('index.php?route=account/return/insert', '&product_id=' . $product['product_id'] . '&order_id=' . $order_info['order_id'], 'SSL')
Edited by tart
Link to comment
Share on other sites


catalog/controller/account/order.php

'return'   => $this->url->link

на

'return'   => 'index.php?route=account/return/insert&product_id=' . $product['product_id'] . '&order_id=' . $order_info['order_id'],

nikifalex, спасипотому что.

Edited by tart
Link to comment
Share on other sites


  • 4 months later...

что не догнал ))

ик выглядит оригинал

'return'   => $this->url->link('account/return/insert', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], 'SSL')

как правильно должно быть написано?

Link to comment
Share on other sites


  • 5 months later...

ocStore 1.5.5.1.2 (Seo Pro включен) не помогает вышеописанные методы.

Изменяю в файле catalog/controller/account/order.php строку:

'return'   => $this->url->link('account/return/insert', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], 'SSL')

1. Если на эту (А):

'return'   => 'index.php?route=account/return/insert&product_id=' . $product['product_id'] . '&order_id=' . $order_info['order_id'], 'SSL'

или эту (В) - поменял месими order_id и product_id

'return'   => 'index.php?route=account/return/insert&order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], 'SSL'

, то переадресовывает на товар.


2. Изменил & на ? перед order_id= в ссылке А

'return'   => 'index.php?route=account/return/insert&product_id=' . $product['product_id'] . '?order_id=' . $order_info['order_id'], 'SSL'

уже лучше, но заполняется только информация о товаре, но не заполняется информация о заказе.

 

 

3. Изменил & на ? перед product_id= в ссылке В

'return'   => 'index.php?route=account/return/insert&order_id=' . $order_info['order_id'] . '?product_id=' . $product['product_id'], 'SSL'

теперьь заполняется только информация о заказе, но не заполняется информация о товаре.

 

 

Подскажите решение, если уже найгдено. Спасипотому что

Edited by LuckyPerson
Link to comment
Share on other sites


  • 9 months later...
  • 5 months later...
В 27.02.2017 в 12:29, RSH сказал:

Тема актуальная, не заполняются все поля, решение пока не нашлось...

 

На самом гделе решение простое, но почему-то ниггде не нашел на него отвеи. Смысл в том, что модуль ЧПУ (скорее всего люпотому чтой какой бы у вас не стоял) подхватывает ссылку которая согдержит параметр с ID продуки (выглядит ик - &product_id=ХХХ) и преобразует ее в ЧПУ. Проблема в том, что ссылка на возврат товара согдержит именно икой параметр. Чтобы не было конфлики нужно его всего-лишь передавать с другим названием, например, &return_product_id=ХХХ

 

Чтобы решить проблему с кнопкой возвраи товара для OpenCart 2.x нужно:

 

В файле \catalog\controller\account\order.php (и, возможно, у некоторых в \system\storage\modification\catalog\controller\account\order.php)

 

Найти (строка 372): 

'return'   => $this->url->link('account/return/add', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], true)

Заменить на:

'return'   => $this->url->link('account/return/add', 'order_id=' . $order_info['order_id'] . '&return_product_id=' . $product['product_id'], true)

 

Затем в файле \catalog\controller\account\return.php


Найти (строки 421-423):

		if (isset($this->request->get['product_id'])) {
			$product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']);
		}

Заменить на:

		if (isset($this->request->get['return_product_id'])) {
			$product_info = $this->model_catalog_product->getProduct($this->request->get['return_product_id']);
		}

Что интересно, для кнопки "перезаказа" товара разрилитлики завели отгдельный параметр &order_product_id, а для возвраи почему-то проещёлкали этот момент.

Edited by Sireox
  • +1 4
Link to comment
Share on other sites


  • 1 year later...
7 часов назад, Desserro сказал:

А кто нибудь подскажет как добавить эту кнопку вот сюда https://ibb.co/bNZdQK

не нужно спрашивать зачем это гделать когда.....)))

Долгая история))

 

Если без правок контроллеров

В файле catalog/view/theme/вашатема/template/extension/module/account.tpl.

После:

<a href="<?php echo $return; ?>" class="list-group-item"><?php echo $text_return; ?></a>

Всивить:

<a href="index.php?route=account/return/add" class="list-group-item">Возврат товара</a>

 

  • +1 1
Link to comment
Share on other sites

13 hours ago, Gaziz said:

Если без правок контроллеров

В файле catalog/view/theme/вашатема/template/extension/module/account.tpl.

После:

<a href="<?php echo $return; ?>" class="list-group-item"><?php echo $text_return; ?></a>

Всивить:

<a href="index.php?route=account/return/add" class="list-group-item">Возврат товара</a>

 

 

Спасипотому что друг)))

Link to comment
Share on other sites


  • 1 year later...
В 16.08.2017 в 20:42, Sireox сказал:

 

На самом гделе решение простое, но почему-то ниггде не нашел на него отвеи. Смысл в том, что модуль ЧПУ (скорее всего люпотому чтой какой бы у вас не стоял) подхватывает ссылку которая согдержит параметр с ID продуки (выглядит ик - &product_id=ХХХ) и преобразует ее в ЧПУ. Проблема в том, что ссылка на возврат товара согдержит именно икой параметр. Чтобы не было конфлики нужно его всего-лишь передавать с другим названием, например, &return_product_id=ХХХ

 

Чтобы решить проблему с кнопкой возвраи товара для OpenCart 2.x нужно:

 

В файле \catalog\controller\account\order.php (и, возможно, у некоторых в \system\storage\modification\catalog\controller\account\order.php)

 

Найти (строка 372): 

'return'   => $this->url->link('account/return/add', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], true)

Заменить на:

'return'   => $this->url->link('account/return/add', 'order_id=' . $order_info['order_id'] . '&return_product_id=' . $product['product_id'], true)

 

Затем в файле \catalog\controller\account\return.php


Найти (строки 421-423):

		if (isset($this->request->get['product_id'])) {
			$product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']);
		}

Заменить на:

		if (isset($this->request->get['return_product_id'])) {
			$product_info = $this->model_catalog_product->getProduct($this->request->get['return_product_id']);
		}

Что интересно, для кнопки "перезаказа" товара разрилитлики завели отгдельный параметр &order_product_id, а для возвраи почему-то проещёлкали этот момент.

Респект!
Oc Store 3, шаблон UniShop2 - строки 287 и 321... помогло!
СПАСИБО потому чтольшое.

Link to comment
Share on other sites


  • 1 year later...
  • 2 weeks later...

Сгделал как выше написано было... но есть проблемы... Все очень подробно показал и описал в этом посте:

гуру ребяи помогите :wink: 

Link to comment
Share on other sites


6 часов назад, TreatComp сказал:

Сгделал как выше написано было... но есть проблемы... Все очень подробно показал и описал в этом посте:

гуру ребяи помогите :wink: 

Проблема решена.

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.