本文整理汇总了PHP中Mage_Sales_Model_Order_Invoice::setBaseShippingAmount方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Order_Invoice::setBaseShippingAmount方法的具体用法?PHP Mage_Sales_Model_Order_Invoice::setBaseShippingAmount怎么用?PHP Mage_Sales_Model_Order_Invoice::setBaseShippingAmount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Order_Invoice
的用法示例。
在下文中一共展示了Mage_Sales_Model_Order_Invoice::setBaseShippingAmount方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: collect
public function collect(Mage_Sales_Model_Order_Invoice $invoice)
{
$invoice->setShippingAmount(0);
$invoice->setBaseShippingAmount(0);
$orderShippingAmount = $invoice->getOrder()->getShippingAmount();
$baseOrderShippingAmount = $invoice->getOrder()->getBaseShippingAmount();
$shippingInclTax = $invoice->getOrder()->getShippingInclTax();
$baseShippingInclTax = $invoice->getOrder()->getBaseShippingInclTax();
if ($orderShippingAmount) {
/**
* Check shipping amount in previus invoices
*/
foreach ($invoice->getOrder()->getInvoiceCollection() as $previusInvoice) {
if ($previusInvoice->getShippingAmount() && !$previusInvoice->isCanceled()) {
return $this;
}
}
$invoice->setShippingAmount($orderShippingAmount);
$invoice->setBaseShippingAmount($baseOrderShippingAmount);
$invoice->setShippingInclTax($shippingInclTax);
$invoice->setBaseShippingInclTax($baseShippingInclTax);
$invoice->setGrandTotal($invoice->getGrandTotal() + $orderShippingAmount);
$invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseOrderShippingAmount);
}
return $this;
}
示例2: collect
/**
* Collect shipping amount to be invoiced based on already invoiced amount
*
* @param Mage_Sales_Model_Order_Invoice $invoice
* @return $this
*/
public function collect(Mage_Sales_Model_Order_Invoice $invoice)
{
$previousInvoices = $invoice->getOrder()->getInvoiceCollection();
if ($invoice->getShippingAmount() > 0) {
return $this;
}
$order = $invoice->getOrder();
$shippingAmount = $order->getShippingAmount() - $order->getShippingInvoiced() - $order->getShippingRefunded();
$baseShippingAmount = $order->getBaseShippingAmount() - $order->getBaseShippingInvoiced() - $order->getBaseShippingRefunded();
$invoice->setShippingAmount($shippingAmount);
$invoice->setBaseShippingAmount($baseShippingAmount);
$invoice->setGrandTotal($invoice->getGrandTotal() + $shippingAmount);
$invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseShippingAmount);
return $this;
}