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

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


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

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

Добрый.

 

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

 

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

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

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

 

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

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


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

 

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

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


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

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

 

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

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

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


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

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

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

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

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

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


  • 5 месяэтов спустя...

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'

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

 

 

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

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


  • 9 месяэтов спустя...
  • 5 месяэтов спустя...
В 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 5
Ссылка на комменирий
Погделиться на других сайих


  • 1 год спустя...

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

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

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

 

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


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 год спустя...
В 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 год спустя...
  • 2 негдели спустя...

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

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

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


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

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

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

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

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


  • 11 месяэтов спустя...

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

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

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

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

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

Войти

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

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

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

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

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