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!!

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top