Obter preço de remessa da cotação

7

Estou tentando obter o preço do frete da cotação na página do carrinho para todo o pedido.

Eu tentei várias coisas, incluindo:

Mage::getModel("checkout/session")->getQuote()->getShippingMethod()->getPrice();


$rates = Mage::getModel("checkout/session")->getQuote()->getShippingAddress()->getAllShippingRates();
foreach($rates as $rate){
    $rate->getPrice();
}

O que posso fazer para obter o preço do frete no carrinho Magento?

djames
fonte

Respostas:

16

Isto irá fazer o truque. De sua pergunta, suponho que o cliente já tenha selecionado o método de envio desejado.

<?php

$quote = Mage::getModel("checkout/session")->getQuote();
$amount = $quote->getShippingAddress()->getShippingAmount();

De fato, existem vários métodos disponíveis para você. Tal como:

<?php 

$address = $quote->getShippingAddress();
$address->getBaseShippingAmount();
$address->getBaseShippingDiscountAmount();
$address->getBaseShippingHiddenTaxAmount();
$address->getBaseShippingInclTax();
$address->getBaseShippingTaxAmount();

$address->getShippingAmount();
$address->getShippingDiscountAmount();
$address->getShippingHiddenTaxAmount();
$address->getShippingInclTax();
$address->getShippingTaxAmount();

Se você simplesmente deseja obter todas as taxas de remessa disponíveis em uma matriz:

<?php

$address = $quote->getShippingAddress();

$shippingPrices = array();
foreach($address->getAllShippingRates() as $rate){
    $shippingPrices[$rate->getCode()] = $rate->getPrice();
}
var_dump($shippingPrices);
Shawn Abramson
fonte
1
Meu prazer e boa sorte para você em seus esforços!
Shawn Abramson