Когда я добавляю что-то из category
к, basket/cart
это перенаправляет меня к basket/cart
.
После поиска я обнаружил, что могу включить эту функцию в системе администратора через
Configuration > Sales | Checkout > After Adding a Product Redirect to Shopping Cart
Теперь он перенаправляет на домашнюю страницу. Я не знаю, если это ошибка в перенаправлении?
Ответы:
Если вы посмотрите на контроллер корзины,
app/code/core/Mage/Checkout/controllers/CartController.php
вы найдете функцию_goBack
. Вот где обратный URL-адрес решает Magento.Раздел, который вы ищете, это вызов, который
_getRefererUrl
происходит, когда вы не устанавливаете URL-адрес возврата в качестве параметра и не используете опцию перенаправления по умолчанию в корзину.Внутри функции
_getRefererUrl
проверяется ссылка на URL, чтобы увидеть, является ли она внутренней, если она не внутренняя, чем используется базовая ссылка.Я бы предположил, что ваш URL-адрес реферера является внешним или что-то не так с проверкой.
Посмотрите на
Mage_Core_Controller_Varien_Action::_isUrlInternal
отладку, если URL-адрес является внутренним или нет.Проблема заключалась в том, что _isUrlInternal не работал из-за наличия порта в базовом URL
источник
В дополнение к ответу david-manners у вас также могут быть проблемы с тем, что ваш
web/unsecure/base_url
&web/secure/base_url
правильно настроен без портов - но ваше реальное приложение vhost (apache / nginx) прослушивает какой-либо порт, отличный от 80/443, например, при работе за лаком.Это приведет
\Mage_Core_Helper_Url::getCurrentUrl
, например, для добавления закодированных в base64 параметров запроса - декодируется и используется с использованием_getRefererUrl
порта «не по умолчанию» как части URL. (например, http://www.domain.com:81/your-url.html )В результате
Mage_Core_Controller_Varien_Action::_isUrlInternal
возвращает false ...источник
Попробуйте установить
web/unsecure/base_url
&web/secure/base_url
с127.0.0.1
вместоlocalhost
. Для меня это сработало.источник