Magento: conflito de rotas entre frontend e admin

Hoje eu estava trabalhando num bug de um módulo de terceiros. Algo simples, o botão do adicionar ao carrinho fazia seu trabalho por AJAX, ao invés do tradicional POST. Entretanto, toda vez que eu chamava a URL http://.../ajaxcart/cart/add, eu recebia um HTTP status 302, ou seja, um redirecionamento, para a mesma URL, porém em modo seguro (HTTPS). Depois de um processo de debug, constatei que o controller não era chamado quando era feita a requisição, portanto o problema deveria estar em alguma configuração do Magento. E de fato, estava. O painel administrativo estava configurado para utilizar o HTTPS (Configurações > Geral > Web > Seguro > Usar SSL no Admin), e quando eu removia esta opção, tudo funcionava conforme o esperado. ...

junho 6, 2014

Objeto produto do Magento e o método loadByAttribute

Olá, Abaixo uma pequena dica para trabalhar com o objeto produto no Magento: /** * Use o método setStoreId duas vezes, caso contrário, qualquer valor editado será salvo na loja padrão, ao invés da selecionada. */ $product = Mage::getModel('catalog/product') ->setStoreId($storeId) ->loadByAttribute('ean', $ean) ->setStoreId($storeId);

maio 28, 2012

Lentidão no Magento

Olá. Após um exaustivo trabalho de debug no Magento, o Filipe Ibaldo e eu acabamos por descobrir dois problemas no Magento, relacionados à lentidão na conclusão da compra com muitos produtos (produtos diferentes, e não um produto com 100 unidades). Um dos problemas é o save de cada produto que está no Order, que é executado precisamente em app/code/core/Mage/Sales/Model/Entity/Order/Attribute/Backend/Parent.php, no método afterSave, que demanda MUITO tempo de processamento na minha máquina (Core 2 Duo 2.26/4GB RAM), cerca de 0.3 segundos para cada produto. ...

janeiro 7, 2011