Em resumo: recuperar um URL do produto com parâmetros adicionais não funciona no CE 1.8 e no EE 1.13.
Os URLs foram alterados com a versão mais recente do Magento. Anteriormente, no CE 1.7 e no EE 1.12, a chamada $this->getAddToCartUrl($_product)
de uma lista de produtos passava pelos seguintes estágios:
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- Aqui ele adicionaria o parâmetro de consulta "opções" com o valor "carrinho"
Mage_Catalog_Block_Product_Abstract::getProductUrl()
- Esse método basicamente obtém um valor do modelo de URL
Mage_Catalog_Model_Product_Url::getUrl()
- Muito processamento ocorre até que o URL seja finalmente gerado, completo com os parâmetros de consulta originalmente transmitidos em
Agora, com CE 1.8 e EE 1.13, a etapa 3 Mage_Catalog_Model_Product_Url::getUrl()
começa assim:
$url = $product->getData('url');
if (!empty($url)) {
return $url;
}
Como os produtos da lista já têm dados de URL, os parâmetros de consulta não são adicionados e o URL final não contém ?options=cart
.
Minha pergunta: isso é um bug ou um recurso?
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
através do núcleo / sessão singleton. Você pode me dar um exemplo do código que você usou?