Envio baseado em SKU - Magento CE 1.9.1.0
-
12-12-2019 - |
Pergunta
Preciso de uma solução para um problema que estou enfrentando há algum tempo.
EU preciso de algum tipo de regra de envio que altere o preço dependendo do FIM de um SKU.
Por exemplo, se um SKU
terminou xxxx-TICK
seria cobrado em £5.00
, onde como SKU
acabando xxxx-PHYS
seria cobrado em £10.00
.
Não encontrei nenhum post ou plugin que pudesse resolver isso.
Estou aberto a todas as ideias!!
Solução
Você pode conseguir isso modificando o método collectRates() da sua classe de modelo de operadora.Aqui, neste método você pode verificar se o item da cotação possui um produto cujo SKU termina com 'TICK' ou 'PHYS' e definir $shippingPrice com o respectivo valor.
$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
foreach ($cartItems as $item) {
$product = $item->getProduct();
$sku = $product->getSku();
//your logic to compare the sku
//for example
if('sku ends with TICK'){
$shippingPrice += 5;
}
if('sku ends with PHYS'){
$shippingPrice += 10;
}
}
Espero que isto ajude.Se você tiver alguma dúvida, sinta-se à vontade para me perguntar mais.Obrigado.