Продолжить покупки URI - PullRequest
2 голосов
/ 21 ноября 2011

В моей корзине у меня это есть, поэтому, когда вы добавляете товар, вы попадаете в корзину, и клиент желает, чтобы пользователь нажал «Продолжить покупки» и вернулся в категорию добавленных товаров для дальнейшей покупки.Как я могу это сделать?

Сегмент URI категории - 1 после домена.

Ответы [ 4 ]

3 голосов
/ 22 ноября 2011

Открыто catalog/controller/product/category.php

Найти if ($category_info) { в строке приблизительно 75

На новой строке после нее поставить

$tmp = $this->request->get;
unset($tmp['route']);
$this->session->data['continue_redirect'] = $this->url->link('product/category', http_build_query($tmp));

Этот код в основном устанавливает URL для URL текущей страницы, если категория является допустимой категорией в переменной сеанса

Открыть catalog/controller/checkout/cart.php

Найти $this->data['continue'] = $this->url->link('common/home'); вокруг строки 285

После этой строки поставить

if(!empty($this->session->data['continue_redirect'])) {
    $this->data['continue'] = $this->session->data['continue_redirect'];
    unset($this->session->data['continue_redirect']);
}

Это проверяет переменную сеанса continue_redirect, которую мы установили в контроллере категорий, и, если она установлена, присваивает ее URL-адресу продолжения, затем сбрасывает ее, чтобы она не сохраняла информацию этой категории. Если вы хотите, удалите строку

unset($this->session->data['continue_redirect']);

Обратите внимание, что это не было проверено, но должно работать теоретически, поскольку у меня нет установки 1.3.x

1 голос
/ 01 апреля 2012

В дополнение к ответу Джея Гилфордса выше - я только что попробовал это и нашел другой экземпляр

$this->data['continue'] = $this->url->link('common/home');

о строке 258. Мне также нужно было поставить код после этого или перенаправление работало только есликорзина была пуста.

1 голос
/ 21 ноября 2011

Я думаю, что самый простой способ сделать это - просто добавить параметр GET к ссылке «Добавить в корзину», которая содержит путь к категории элемента.Что-то вроде example.com/shopping_cart.php?item=bunny_slippers&item_category=/categories/footwear/ подойдет.Я не уверен, на что похожа структура вашего приложения, но вы можете сделать это, установив переменную $category для каждой страницы категории и затем вставив эту переменную в параметр GET, или вы можете получить информацию о пути, используя суперглобальный PHP-сервер.

Затем на странице корзины вы можете просто вставить переменную $_GET['item_category'] в ссылку "Продолжить покупки".Конечно, сначала вам нужно выполнить базовую очистку параметра, чтобы убедиться, что в нем нет вредоносного кода.

0 голосов
/ 21 ноября 2011

Вы можете установить cookie на клиенте, который перечислил свою последнюю категорию просмотра перед добавлением в корзину, или вы можете установить его в сеансе пользователя.

...