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

Не работает возврат товара в ЛК


tart

Recommended Posts

Добрый.

 

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

 

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

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

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

 

Спасибо.
 

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


Когда делаю изменения в контроллере ссылка меняется, но из-за .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')
Змінено користувачем tart
Надіслати
Поділитися на інших сайтах


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, спасибо.

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


  • 4 months later...

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

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

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

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

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


  • 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'

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

post-689172-0-64093600-1463946330_thumb.jpg

 

 

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

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

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

post-689172-0-03498900-1463947061_thumb.jpg

 

 

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

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


  • 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, а для возврата почему-то прощелкали этот момент.

Змінено користувачем Sireox
  • +1 6
Надіслати
Поділитися на інших сайтах


  • 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
Надіслати
Поділитися на інших сайтах

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>

 

 

Спасибо друг)))

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


  • 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... помогло!
СПАСИБО большое.

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


  • 1 year later...
  • 2 weeks later...
6 часов назад, TreatComp сказал:

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

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

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

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


  • 11 months later...

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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