Jump to content

Recommended Posts

Добрый.

 

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

 

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

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

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

 

Спасибо.
 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

Спасибо.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

 

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

Edited by LuckyPerson

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
В 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 2

Share this post


Link to post
Share on other sites

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

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

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

 

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
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>

 

 

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

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.


  • 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 yurggen80
      У меня одного такая проблема: когда на сайте регистрируется Продавец, то админу на почту приходит уведомление и регистрации нового ... ПОКУПАТЕЛЯ!?
      Потом, нужно активировать этого Покупателя, а потом, его же - как Продавца.
      Короче, геморр какой-то. Программист говорит, что так задано.
      Версия ocStore 2.1.0.2.1
    • By Bn174uk

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

      Демо

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

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

      Техническая поддержка осуществляется на платной основе т.к. данный модуль распространяется бесплатно.
    • By Bn174uk
      Скачать/Купить дополнение


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

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

      Демо

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

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

      Техническая поддержка осуществляется на платной основе т.к. данный модуль распространяется бесплатно.
      Добавил 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  
  • 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.