Cuando agrego algo del category
al basket/cart
me redirige al basket/cart
.
Después de buscar, descubrí que podía activar esta funcionalidad en el sistema de administración a través de
Configuration > Sales | Checkout > After Adding a Product Redirect to Shopping Cart
Ahora redirige a la página de inicio. No sé si esto es un error en la redirección?
Respuestas:
Si observa el controlador del carrito
app/code/core/Mage/Checkout/controllers/CartController.php
, encontrará la función_goBack
. Aquí es donde Magento decide la URL de retorno.La sección que está buscando es la llamada a que
_getRefererUrl
esto suceda cuando no está configurando la URL de retorno como un parámetro y no está utilizando la opción de redireccionamiento predeterminado al carrito.Dentro de la función,
_getRefererUrl
se verifica la url de referencia para ver si es una url interna, cuando no es interna, se utiliza la url base.Sugeriría que su URL de referencia sea externa o que haya algún problema con el cheque.
Eche un vistazo
Mage_Core_Controller_Varien_Action::_isUrlInternal
para depurar si la url es interna o no.El problema era que _isUrlInternal fallaba por tener el puerto en la url base
fuente
Además de David-modales respuesta, usted puede también tener problemas con su
web/unsecure/base_url
yweb/secure/base_url
se establece correctamente y sin puertos - pero su aplicación host virtual real (Apache / nginx) escucha en un puerto que no sea 80/443, por ejemplo, cuando se ejecuta detrás de barniz.Esto resultará en
\Mage_Core_Helper_Url::getCurrentUrl
, por ejemplo, usado para agregar los parámetros de consulta codificados en base64 , decodificados y utilizados al_getRefererUrl
tener el puerto 'no predeterminado' como parte de la url. (por ejemplo, http://www.domain.com:81/your-url.html )Como resultado
Mage_Core_Controller_Varien_Action::_isUrlInternal
devuelve falso ...fuente
Intente configurar su
web/unsecure/base_url
&web/secure/base_url
con127.0.0.1
en lugar delocalhost
. Para mí funcionó.fuente