En resumen: recuperar una URL de producto con parámetros adicionales no funciona en CE 1.8 y EE 1.13.
Las URL han cambiado con la última versión de Magento. Anteriormente en CE 1.7 y EE 1.12, las llamadas $this->getAddToCartUrl($_product)
desde una lista de productos se ejecutarían en las siguientes etapas:
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- Aquí agregaría el parámetro de consulta "opciones" con el valor "carrito"
Mage_Catalog_Block_Product_Abstract::getProductUrl()
- Este método esencialmente obtiene un valor del modelo de URL
Mage_Catalog_Model_Product_Url::getUrl()
- Se produce mucho procesamiento hasta que finalmente se genera la URL, completa con los parámetros de consulta pasados originalmente en
Ahora, con CE 1.8 y EE 1.13, el paso 3 Mage_Catalog_Model_Product_Url::getUrl()
comienza así:
$url = $product->getData('url');
if (!empty($url)) {
return $url;
}
Debido a que los productos en la lista ya tienen datos de URL, los parámetros de consulta no se agregan y la URL final no contiene ?options=cart
.
Mi pregunta: ¿Es esto un error o una característica?
url
ee-1.13
url-rewrite
ce-1.8.0.0
jharrison.au
fuente
fuente
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
través del núcleo / sesión singleton. ¿Me puede dar un ejemplo del código que utilizó?Respuestas:
¡Guau, todo el delta para esa clase de 1.7.0.2 -> 1.8.0.0! Si bien hay cambios sustanciales en esta clase, y que se trata de "comportamiento de ruptura", debe considerarse un error y debe enviarse al soporte de EE.
No hay nada excepcionalmente novedoso o nervioso acerca de esta funcionalidad previamente válida, e incluso en una actualización menor de la versión no deberían existir cambios importantes (por lo tanto, Magento 2).
fuente