Перейти к содержанию

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

Добрый.

 

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

 

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

Так выглядит просмотр заказа: 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.....

Поделиться сообщением


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

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

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

Поделиться сообщением


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

я ж говорю, убрать url->link что не трансформировать в ЧПУ, либо разобраться с ЧПУ модулем

Поделиться сообщением


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

Так а где убирать url->link?  :-)

Поделиться сообщением


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

там же строка тут скопирована.

Поделиться сообщением


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

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

Поделиться сообщением


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

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

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

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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 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 2

Поделиться сообщением


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

А кто нибудь подскажет как добавить эту кнопку вот сюда 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>

 

 

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

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

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


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

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

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

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

      В планах:
      Сделать поддержку opencart 3; Расширить функционал для получения уведомлений о новых комментариях и отзывах; Сделать более гибкую настройку полей; Добавил Bn174uk Добавлено 20.02.2018 Категория Письма, почта, рассылки, sms Системные требования Curl Сайт разработчика http://cmsshop.com.ua/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
    • От Bn174uk
      Модуль позволяет получать уведомления о заказах, отзывах о товаре, новых зарегистрированных  пользователей, возврат товара  и сообщений с формы контактов в Telegram.
       
      Так же есть возможность настроить уведомление о смене статуса заказа.
       
      У кого хостинг располагается на территории России есть вероятность, что модуль не будет работать из-за блокировки telegram-а в России.

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

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

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

      В планах:
      Сделать поддержку opencart 3; Расширить функционал для получения уведомлений о новых комментариях и отзывах; Сделать более гибкую настройку полей;
    • От 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 Не проверялось  
    • От zasluga
      Дополнение убирает ссылки "Возврат товара"
      Установка:
      => Открываем "Установщик дополнений OCMOD"
      => Загружаем дополнение
      => Переходим в "Менеджер дополнений"
      => Жмем кнопку "Сброс"
      => Жмем кнопку "Обновить" два раза
      Проверил на ocStore 2.3.0.2.3 Возможно будет работать и на других версиях
      display_none_return.ocmod.xml
    • От Bn174uk
      333.00 руб
      Скачать/Купить дополнение


      Customer WishList / Избранные товары покупателей

      Данный модуль позволяет просматривать избранные товары пользователей.
      Есть возможность удалить тот или иной товар из избранных данного пользователя.

      Демо

      http://test.cmsshop.com.ua/admin/
      логин: demo;
      пароль: demo

      Инструкция по настройке:
      Выберите нужную версию модуля в зависимости от Вашей версии opencart; Установите модуль через стандартный менеджер дополнений; Обновите кеш OCMOD; Перейдите в настройки "группы пользователей" выберите нужную группу и поставьте галочки в "Разрешён просмотр" и "Разрешено внесение изменений" возле customer/customer_wishlist После чего в разделе "покупатели" появится раздел "CustomerWishlist"
      Системные требования:
      PHP 5.3 или выше;
      Техническая поддержка:

      - Техническая поддержка осуществляется всем пользователям, легально купившим модуль на оф.сайтах либо у самого автора.

      В планах:
      Сделать поддержку opencart 1.5.x,2.0,3.x; Готов выслушать предложение, чего бы хотелось видеть еще в модуле.  
      Добавил Bn174uk Добавлено 27.04.2018 Категория Модули Системные требования Сайт разработчика http://cmsshop.com.ua/ Старая цена 475 Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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