Quando adiciono algo do category
para o, basket/cart
ele me redireciona para o basket/cart
.
Após a pesquisa, descobri que podia ativar essa funcionalidade no sistema de administração via
Configuration > Sales | Checkout > After Adding a Product Redirect to Shopping Cart
Agora ele é redirecionado para a página inicial. Não sei se isso é um bug no redirecionamento?
Respostas:
Se você olhar no controlador do carrinho
app/code/core/Mage/Checkout/controllers/CartController.php
, encontrará a função_goBack
. É aqui que o URL de retorno é decidido pelo Magento.A seção que você está procurando é a chamada para
_getRefererUrl
isso acontece quando você não está definindo o URL de retorno como parâmetro e não está usando a opção padrão de redirecionamento para carrinho.Dentro da função,
_getRefererUrl
o URL do referenciador é verificado para ver se é um URL interno, quando não é interno do que o URL base é usado.Sugiro que seu URL de referência seja externo ou que haja algo errado com a verificação.
Dê uma olhada
Mage_Core_Controller_Varien_Action::_isUrlInternal
para depurar se o URL é interno ou não.O problema era que _isUrlInternal estava falhando por ter a porta na URL base
fonte
Além da resposta david-manners, você também pode ter problemas com o
web/unsecure/base_url
&web/secure/base_url
estar definido corretamente sem portas - mas o vhost do aplicativo real (apache / nginx) escutando em outra porta que não seja a 80/443, por exemplo, quando está executando um verniz.Isso resultará em
\Mage_Core_Helper_Url::getCurrentUrl
, por exemplo, usado para adicionar os parâmetros de consulta codificados em base64 - decodificados e usados por_getRefererUrl
ter a porta 'não padrão' como parte do URL. (por exemplo, http://www.domain.com:81/your-url.html )Como resultado,
Mage_Core_Controller_Varien_Action::_isUrlInternal
retorna false ...fonte
Tente definir seu
web/unsecure/base_url
&web/secure/base_url
com127.0.0.1
no lugar delocalhost
. Para mim funcionou.fonte