URL del producto con parámetros adicionales (CE 1.8 y EE 1.13)


13

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:

  1. Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
    • Aquí agregaría el parámetro de consulta "opciones" con el valor "carrito"
  2. Mage_Catalog_Block_Product_Abstract::getProductUrl()
    • Este método esencialmente obtiene un valor del modelo de URL
  3. 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?


Solo una nota al margen, tenemos que agregar una etiqueta form_key a nuestra url de agregar al carrito después de un par de actualizaciones
EE1.13

Gracias por el aporte, por lo que parece, Magento lo hará automáticamente a Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()través del núcleo / sesión singleton. ¿Me puede dar un ejemplo del código que utilizó?
jharrison.au

Respuestas:


3

¡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).


Gracias Ben, solo quería asegurarme de que no me faltaba algo.
jharrison.au
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.