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?
url
ee-1.13
url-rewrite
ce-1.8.0.0
jharrison.au
fonte
fonte
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?Respostas:
Uau, o delta para essa classe é de 1.7.0.2 -> 1.8.0.0! Considerando que há mudanças substanciais nessa classe e que esse é um "comportamento violador", ele deve ser considerado um bug e deve ser enviado ao suporte do EE.
Não há nada de excepcional ou inovador nessa funcionalidade anteriormente válida, e mesmo em uma atualização de versão menor, não devem existir alterações de atualização (daí o Magento 2).
fonte