本文整理匯總了PHP中Magento\Sales\Model\Order\Invoice::setBaseShippingAmount方法的典型用法代碼示例。如果您正苦於以下問題:PHP Invoice::setBaseShippingAmount方法的具體用法?PHP Invoice::setBaseShippingAmount怎麽用?PHP Invoice::setBaseShippingAmount使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Sales\Model\Order\Invoice
的用法示例。
在下文中一共展示了Invoice::setBaseShippingAmount方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: collect
/**
* @param \Magento\Sales\Model\Order\Invoice $invoice
* @return $this
*/
public function collect(\Magento\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 previous invoices
*/
foreach ($invoice->getOrder()->getInvoiceCollection() as $previousInvoice) {
if ((double) $previousInvoice->getShippingAmount() && !$previousInvoice->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;
}