Jump to content
Sign in to follow this  
Strogin

SeoPro - кнопка "возврат товара" перекидывает в карточку товара

Recommended Posts

Товарищи дорогие! Проблема появилась. На странице заказа нажимаю кнопку "Возврат" и попадаю не на страницу возврата, а на страницу товара. Как исправить? OpenCart 1.5.2 или 1.5.1.х - не важно.

Share this post


Link to post
Share on other sites

Ни кто не поможет?

Share this post


Link to post
Share on other sites

Немного опишу вопрос. После заказа покупателем товара и при просмотре его через /index.php?route=account/order/info&order_id=** есть кнопка Возврат товара при нажатии на неё происходит переход в карточку товара.

Share this post


Link to post
Share on other sites

Не работает, если включен ЧПУ.

Точнее не передает нормальное "Product_id"

Исправил следующим образом (на ocStore 1.5.2.1):

1) /catalog/controller/account/order.php

~ 337 строчка: 'return' => $this->url->link('account/return/insert', 'order_id=' . $order_info['order_id'].'&product_id=' . $product['product_id'], 'SSL')

заменяем на:

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

2) /catalog/controller/account/return.php

~ 477 строчка:

if (isset($this->request->post['product'])) {

$this->data['product'] = $this->request->post['product'];

} elseif (!empty($product_info)) {

$this->data['product'] = $product_info['name'];

} else {

$this->data['product'] = '';

}

if (isset($this->request->post['model'])) {

$this->data['model'] = $this->request->post['model'];

} elseif (!empty($product_info)) {

$this->data['model'] = $product_info['model'];

} else {

$this->data['model'] = '';

}

if (isset($this->request->post['quantity'])) {

$this->data['quantity'] = $this->request->get['quantity'];

} else {

$this->data['quantity'] = 1;

}

Заменяем на:

if (isset($this->request->get['product'])) {

$this->data['product'] = $this->request->get['product'];

} else {

$this->data['product'] = '';

}

if (isset($this->request->get['model'])) {

$this->data['model'] = $this->request->get['model'];

} else {

$this->data['model'] = '';

}

if (isset($this->request->get['quantity'])) {

$this->data['quantity'] = $this->request->get['quantity'];

} else {

$this->data['quantity'] = 1;

}

URL конечно не оч красиво выглядит, зато работает.

  • +1 1

Share this post


Link to post
Share on other sites

А на ocstore 1.5.5.1.2 ЭТО РЕШЕНИЕ подойдет? или какой нужно?

Когда включен тип ЧПУ Seo_Pro, то кнопка "возврат товара" перекидывает в карточку товара

Share this post


Link to post
Share on other sites

Получилось смоделировать баг на чистом ocStore 1.5.5.1.2;

ЧПУ включен;

SeoPro.

 

Кнопка "возврат товара" перекидывает на карточку товара только в том случае, если для этого товара указан SEO URL.

Если это поле пустое, то после клика по кнопке "возврат товара" происходит открытие страницы формы с корректным заполнением данных из заказа.

 

Без добавления keyword в таблицу oc_url_alias для index.php?route=account/order/info:

post-689172-0-03722200-1467561235_thumb.jpg

C добавлением keyword в таблицу oc_url_alias:

post-689172-0-73029500-1467561235_thumb.jpg

 

Если устраивает внешний вид ссылки mysite.ru/index.php?route=account/order/info&order_id=1 (так как в решении ниже игнорируется keyword добавленный в таблицу oc_url_alias), то решается это в файле

catalog/controller/common/seo_pro.php

/*добавляем строку*/ if(!in_array($route, array('product/search'))) {
	foreach($data as $key => $value) {
		switch($key) {
			case 'product_id':
			case 'manufacturer_id':
			case 'category_id':
			case 'information_id':
/*добавляем строку*/ case 'order_id':
				$queries[] = $key . '=' . $value;
				unset($data[$key]);
				$postfix = 1;
				break;

			case 'path':
				$categories = explode('_', $value);
				foreach($categories as $category) {
					$queries[] = 'category_id=' . $category;
				}

				unset($data[$key]);
				break;

			default:
				break;
		}
	}
/*добавляем строку*/ }

или качаем обновленный файл seo_pro.php с репозитория (авторы Yesvik и freelancer)

Edited by LuckyPerson

Share this post


Link to post
Share on other sites

Но остался вопрос:

Как реализовать рабочий вариант, чтобы ссылка была такой? mysite.ru/order-info/?order_id=1

 

Здесь обратный вопрос

Edited by LuckyPerson

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By Bn174uk
      300.00 руб
      Скачать/Купить дополнение


      Telegram уведомления
      Модуль позволяет получать уведомления о заказах, отзывах о товаре, новых зарегистрированных пользователей, возврат товара и сообщений с формы контактов в Telegram.

      Так же есть возможность настроить уведомление о смене статуса заказа.

      У кого хостинг располагается на территории России есть вероятность, что модуль не будет работать из-за блокировки telegram-а в России. По запросу в ЛС или на почту дам архив для тестирования работоспособности модуля на Вашем хостинге.


      На данный момент для OC 1.5.x актуальная версия 3.1, для ОС 2.х, 3.х актуальная версия 3.2.

      Перед тем как обратиться за техподдержку прочтите FAQ , возможно там будет ответ на Ваш вопрос.


      Инструкция по настройке:

      Шаг 1:
      Зайдите в Telegram, в поиске найдите бота BotFather и начните с ним общение. Напишите боту команду /newbot - это команда для создания нового бота. BotFather в ответ попросил, чтобы Вы написали имя бота. Напишите обратным сообщением это имя (Например: Бот для уведомлений о заказах) - это имя можно потом поменять. После ввода имени BotFather запросит ввести username (публичное имя бота) оно должно иметь окончание bot (Например: cmsshopbot или cmsshop_bot); Если такое имя не занято, то в ответ получите сообщение с token вашего нового бота; Перейдите по ссылке на своего бота из сообщения либо найдите его в поиске по username (которое указали) и нажмите /start. Это надо для того, чтобы бот смог Вам писать. Без этого Вы не сможете получать уведомления.
      Шаг 2 для OC 2.x, 3.x:
      Разархивируйте архив; Выберите нужную версию архива(.ocmod.zip) в зависимости от Вашей версии opencart; Установите этот архив модуля через стандартный менеджер дополнений; Обновите кеш OCMOD;
      Шаг 2 для OC 1.5.x:
      Разархивируйте архив; Выберите версию архива(1.5.x.zip) для Вашей версии opencart; Загрузите содержимое этого архива из папку upload на сервер  
      Шаг 3:
      После перейдите в расширения->модули и найдите "A-Telegram уведомление" активируйте его; Зайдите в настройки модуля; Укажите token(в поле "Токен бота") который выдал Вам бот BotFather; Укажите ID юзера кому должны приходить уведомления. Если нужно, чтобы приходило нескольким получателем, укажите через запятую эти ID (Например: 12222222222,22222223333,333333333); Как узнать id пользователя Дальше отметьте галочкой поля, которые должны приходить в уведомлении и нажмите сохранить. Все, бот настроен и готов к использованию.
      Минимальные системные требования:
      PHP 5.3 или выше; Сurl; Техническая поддержка:
      Техническая поддержка осуществляется всем пользователям, легально купившим модуль на оф.сайтах либо у самого автора.

      Лицензия:
      Каждая копия модуля действует на 1 домен и его поддомен. 
      Поэтому если хотите установить модуль еще на один домен, Вы должны приобрести еще одну копию модуля.

      По всем вопросам и предложениям писать serfbots@gmail.com
      Добавил Bn174uk Добавлено 20.02.2018 Категория Письма, почта, рассылки, sms Системные требования Curl Сайт разработчика http://cmsshop.com.ua/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Нет  
    • By Bn174uk
      Модуль позволяет получать уведомления о заказах, отзывах о товаре, новых зарегистрированных пользователей, возврат товара и сообщений с формы контактов в Telegram.

      Так же есть возможность настроить уведомление о смене статуса заказа.

      У кого хостинг располагается на территории России есть вероятность, что модуль не будет работать из-за блокировки telegram-а в России. По запросу в ЛС или на почту дам архив для тестирования работоспособности модуля на Вашем хостинге.


      На данный момент для OC 1.5.x актуальная версия 3.1, для ОС 2.х, 3.х актуальная версия 3.2.

      Перед тем как обратиться за техподдержку прочтите FAQ , возможно там будет ответ на Ваш вопрос.


      Инструкция по настройке:

      Шаг 1:
      Зайдите в Telegram, в поиске найдите бота BotFather и начните с ним общение. Напишите боту команду /newbot - это команда для создания нового бота. BotFather в ответ попросил, чтобы Вы написали имя бота. Напишите обратным сообщением это имя (Например: Бот для уведомлений о заказах) - это имя можно потом поменять. После ввода имени BotFather запросит ввести username (публичное имя бота) оно должно иметь окончание bot (Например: cmsshopbot или cmsshop_bot); Если такое имя не занято, то в ответ получите сообщение с token вашего нового бота; Перейдите по ссылке на своего бота из сообщения либо найдите его в поиске по username (которое указали) и нажмите /start. Это надо для того, чтобы бот смог Вам писать. Без этого Вы не сможете получать уведомления.
      Шаг 2 для OC 2.x, 3.x:
      Разархивируйте архив; Выберите нужную версию архива(.ocmod.zip) в зависимости от Вашей версии opencart; Установите этот архив модуля через стандартный менеджер дополнений; Обновите кеш OCMOD;
      Шаг 2 для OC 1.5.x:
      Разархивируйте архив; Выберите версию архива(1.5.x.zip) для Вашей версии opencart; Загрузите содержимое этого архива из папку upload на сервер  
      Шаг 3:
      После перейдите в расширения->модули и найдите "A-Telegram уведомление" активируйте его; Зайдите в настройки модуля; Укажите token(в поле "Токен бота") который выдал Вам бот BotFather; Укажите ID юзера кому должны приходить уведомления. Если нужно, чтобы приходило нескольким получателем, укажите через запятую эти ID (Например: 12222222222,22222223333,333333333); Как узнать id пользователя Дальше отметьте галочкой поля, которые должны приходить в уведомлении и нажмите сохранить. Все, бот настроен и готов к использованию.
      Минимальные системные требования:
      PHP 5.3 или выше; Сurl; Техническая поддержка:
      Техническая поддержка осуществляется всем пользователям, легально купившим модуль на оф.сайтах либо у самого автора.

      Лицензия:
      Каждая копия модуля действует на 1 домен и его поддомен. 
      Поэтому если хотите установить модуль еще на один домен, Вы должны приобрести еще одну копию модуля.

      По всем вопросам и предложениям писать serfbots@gmail.com
    • By zasluga
      Дополнение убирает ссылки "Возврат товара"
      Установка:
      => Открываем "Установщик дополнений OCMOD"
      => Загружаем дополнение
      => Переходим в "Менеджер дополнений"
      => Жмем кнопку "Сброс"
      => Жмем кнопку "Обновить" два раза
      Проверил на ocStore 2.3.0.2.3 Возможно будет работать и на других версиях
      display_none_return.ocmod.xml
    • By zasluga
      Скачать/Купить дополнение


      Убрать ссылку "Возврат товара"
      Дополнение убирает ссылки "Возврат товара"
      Установка:
      => Открываем "Установщик дополнений OCMOD"
      => Загружаем дополнение
      => Переходим в "Менеджер дополнений"
      => Жмем кнопку "Сброс"
      => Жмем кнопку "Обновить" два раза
      Проверил на ocStore 2.3.0.2.3 Возможно будет работать и на других версиях
      display_none_return.ocmod.xml
      Добавил zasluga Добавлено 17.10.2018 Категория Меню, дизайн, внешний вид Системные требования Сайт разработчика http://posle.info Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Не проверялось  
    • By AlexDW
      Скачать/Купить дополнение


      ReturnsOnlyLogged - возврат товара только для залогиненных
      Данный фикс отключает возврат товара для всех, кроме зарегистрированных и вошедших в аккаунт пользователей
       
      По-умолчанию в Opencart форма возврата товара доступна для всех подряд по ссылкам:
      вашсайт/index.php?route=account/return/insert - для 15х
      вашсайт/index.php?route=account/return/add - для 2х и выше
       
      После применения патча возможность оформления возврата товара будет доступна только залогиненным пользователям
       
      DEMO 15x
      DEMO 2x
       
      Также должно помочь от ботов создающих возвраты типа:
      JimmiXzSq uAAigalmptCQMNJR
      Barnypok BFdsIrXAeYr  и тп
       
      (но самый верный способ борьбы с ботами на сегодня - использовать гугловскую reCaptcha)
       
      Особенности:
      - подходит для всех движков версий 1.5.x - 3.0.x
      - никакие файлы не заменяет
      - для 15x требуется VQMOD
      - для 2x и выше используется OCMOD
       
      Установка 15x:
      просто скопировать файл returns_only_logged.xml в папку vqmod/xml

      Установка 2x:
      загрузить файл returns_only_logged.ocmod.xml в Extension Installer (Установка дополнений) и обновить кэш модификаций
       
      Установка 3x:
      1. Загрузить архив returns_only_logged-3x.ocmod.zip в Extensions > Installer
      2. Обновить кэш модификаций в Extensions > Modifications
       
       
      Другие дополнения:
      -----------------------------
      RelatedLinks - одно- и двусторонняя перелинковка товаров
      OrderField - дополнительные поля в заказе, корзине и письме
      Modal Window - всплывающее окно с подтверждением / информацией
      FilterImageID - фильтр товаров в админке по картинке и ID
      Добавил AlexDW Добавлено 19.05.2017 Категория Прочее Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.