При удалении товара из корзины, Magento перенаправляет на домашнюю страницу магазина вместо / checkout / cart / - PullRequest
1 голос
/ 07 марта 2011

Я устанавливаю корзину Magento 1.4.2 для замены старой версии (1.1.6). В настоящее время я работаю на компьютере разработчика, и когда у меня в корзине несколько товаров и я использую кнопку «Удалить» на одном из товаров, товар удаляется, и я перенаправляюсь через код ответа 302 на базовый URL-адрес сохранить вместо '/ checkout / cart /' (так работает корзина старой версии).

Я застрял, пытаясь выяснить, что отличается между двумя тележками, которые вызывают это перенаправление. Некоторые примечания по моей настройке, которые могут или не могут иметь отношение:

  • Есть 2 веб-сайта / магазина / просмотров магазина
  • Доступ к представлению магазина, с которым я сейчас работаю, осуществляется через суб-URL и отдельный файл index.php. URL основного магазина - https://www.thestore.com/, а к магазину, с которым я работаю, обращаются по адресу https://www.thestore.com/second-store/index.php/. Если вы не знакомы с этим подходом, вот как это делается: Сохранять просмотры по index.php
  • Старая корзина (запущенная 1.1.6) работает на немного другой настройке сервера, и вы можете смело предполагать, что в настройке возможно все - например, возможны модификации основного кода Mage.

Я ищу любые советы о том, где искать - конфигурации Magento через админ-панель, изменения local.xml, правила переписывания Apache ... любые советы о том, как узнать, ПОЧЕМУ эта новая корзина не перенаправление в / store / checkout / cart / когда я удаляю товар из моей корзины .

Если вам нужны более подробные данные, я был бы рад предоставить их. У нас есть довольно прикольная настройка, которая была действительно взломана вместе, и я также открыт для предложений о том, как все настроить, если кажется, что мы делаем что-то не так. Спасибо!

Ответы [ 3 ]

7 голосов
/ 14 декабря 2011

Это могут быть старые новости, но у меня была та же проблема в magento 1.5.10 в декабре 2011 года. и я успешно обратился к нему, отредактировав

CartController.php:

в

функция deleteAction

заменить

$ это -> _ redirectReferer (Mage :: GetURL ( '* / *'));

с

$ это -> _ редирект ( 'контроль / корзина');

Не копируйте и не вставляйте это, убедитесь, что вы напечатали его и используете одинарные кавычки вокруг оформления заказа / корзина

0 голосов
/ 24 декабря 2016

Для перезаписи основного файла нам нужно создать модуль и внести следующие изменения.

public function deleteAction()
{
    if ($this->_validateFormKey()) {
        $id = (int)$this->getRequest()->getParam('id');
        if ($id) {
            try {
                $this->_getCart()->removeItem($id)
                    ->save();
            } catch (Exception $e) {
                $this->_getSession()->addError($this->__('Cannot remove the item.'));
                Mage::logException($e);
            }
        }
    } else {
        $this->_getSession()->addError($this->__('Cannot remove the item.'));
    }

    $this->_redirect('checkout/cart');
}

Пожалуйста, обратитесь к моему руководству для пошагового объяснения.

http://www.pearlbells.co.uk/remove-item-magento-cart-redirects-homepage/

0 голосов
/ 08 марта 2011

Если вы проверили настройку, предложенную B00MER, то я думаю, что вашим следующим шагом должна быть отладка в реальном времени в процессе обработки запросов.Прочитайте мой предыдущий ответ , где приведены некоторые указания по настройке среды отладки Magento.

Этот ответ также уместен, поскольку он включает updatePostAction в CartController, тот же метод, который отвечает в этой ситуации.

...