本文整理汇总了PHP中Mage_Sales_Model_Quote_Item::getBaseRowTotal方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Quote_Item::getBaseRowTotal方法的具体用法?PHP Mage_Sales_Model_Quote_Item::getBaseRowTotal怎么用?PHP Mage_Sales_Model_Quote_Item::getBaseRowTotal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Quote_Item
的用法示例。
在下文中一共展示了Mage_Sales_Model_Quote_Item::getBaseRowTotal方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setStandardPrices
/**
* Sets all variations of price on final totals for use with standard items. Not the parent bundle/configurable.
*
* @param Mage_Sales_Model_Quote_Item $item
* @param Webshopapps_Wsacommon_Model_Totals $finalTotals
*/
protected function setStandardPrices($item, &$finalTotals)
{
$finalTotals->setBasePrice($finalTotals->getBasePrice() + $item->getBaseRowTotal());
$finalTotals->setPrice($finalTotals->getPrice() + $item->getRowTotal());
$finalTotals->setPriceInclTax($finalTotals->getPriceInclTax() + $item->getRowTotalInclTax());
$finalTotals->setBasePriceInclTax($finalTotals->getBasePriceInclTax() + $item->getBaseRowTotalInclTax());
$finalTotals->setDiscountedPrice($finalTotals->getDiscountedPrice() + ($item->getRowTotal() - $item->getDiscountAmount()));
$finalTotals->setBaseDiscountedPrice($finalTotals->getBaseDiscountedPrice() + ($item->getBaseRowTotal() - $item->getBaseDiscountAmount()));
$finalTotals->setDiscountedPriceInclTax($finalTotals->getDiscountedPriceInclTax() + ($item->getRowTotalInclTax() - $item->getDiscountAmount()));
$finalTotals->setBaseDiscountedPriceInclTax($finalTotals->getBaseDiscountedPriceInclTax() + ($item->getBaseRowTotalInclTax() - $item->getBaseDiscountAmount()));
}
示例2: calculateDiscountAmount
/**
* When the previously applied discount amount on the item row total
* is less than the current applied discount recalculate the current discount
* to account for previously applied discount. Otherwise, don't recalculate
* the current discount.
*
* @param Mage_Sales_Model_Quote_Item
* @param Varien_Object
* @param array
* @return float
*/
protected function calculateDiscountAmount(Mage_Sales_Model_Quote_Item $item, Varien_Object $result, array $data)
{
/** @var float */
$itemRowTotal = $item->getBaseRowTotal();
/** @var float */
$currentDiscountAmount = $result->getBaseDiscountAmount();
/** @var float */
$previousAppliedDiscountAmount = 0.0;
foreach ($data as $discount) {
$previousAppliedDiscountAmount += $discount['amount'];
}
/** @var float */
$itemRowTotalWithAppliedPreviousDiscount = $itemRowTotal - $previousAppliedDiscountAmount;
if ($itemRowTotalWithAppliedPreviousDiscount < 0) {
$itemRowTotalWithAppliedPreviousDiscount = 0;
}
return $itemRowTotalWithAppliedPreviousDiscount < $currentDiscountAmount ? $itemRowTotalWithAppliedPreviousDiscount : $currentDiscountAmount;
}
示例3: _addSubtotalAmount
/**
* Add row total item amount to subtotal
*
* @param Mage_Sales_Model_Quote_Address $address
* @param Mage_Sales_Model_Quote_Item $item
* @return $this
*/
protected function _addSubtotalAmount(Mage_Sales_Model_Quote_Address $address, $item)
{
if ($this->_getTaxDataHelper()->priceIncludesTax($item->getStoreId())) {
$subTotal = $item->getRowTotalInclTax() - $item->getRowTax();
$baseSubTotal = $item->getBaseRowTotalInclTax() - $item->getBaseRowTax();
$address->setTotalAmount('subtotal', $address->getTotalAmount('subtotal') + $subTotal);
$address->setBaseTotalAmount('subtotal', $address->getBaseTotalAmount('subtotal') + $baseSubTotal);
} else {
$address->setTotalAmount('subtotal', $address->getTotalAmount('subtotal') + $item->getRowTotal());
$address->setBaseTotalAmount('subtotal', $address->getBaseTotalAmount('subtotal') + $item->getBaseRowTotal());
}
$address->setSubtotalInclTax($address->getSubtotalInclTax() + $item->getRowTotalInclTax());
$address->setBaseSubtotalInclTax($address->getBaseSubtotalInclTax() + $item->getBaseRowTotalInclTax());
return $this;
}
示例4: _getTotalPercentDiscountOnitem
/**
* Returns a total discount on the cart from the provided items
*
* @param Mage_Sales_Model_Quote_Item $item
* @param Mage_Sales_Model_Quote_Address $address
* @param TBT_Rewards_Model_Sales_Rule $rule
* @param array() &$cartRules
* @param int $qty max discount qty or unlimited if null
* @return array($discountAmount, $baseDiscountAmount)
*/
protected function _getTotalPercentDiscountOnitem($item, $address, $rule, &$cartRules, $qty = null)
{
$quote = $item->getQuote();
$store = $item->getQuote()->getStore();
$qty = empty($qty) ? $item->getQty() : (int) $qty;
$quoteAmount = $quote->getStore()->convertPrice($cartRules[$rule->getId()]);
$quoteAmountBase = $cartRules[$rule->getId()];
if (Mage::helper('tax')->discountTax($store) && !Mage::helper('tax')->applyTaxAfterDiscount($store)) {
$tax_amount = $item->getTaxAmount() / $item->getQty() * $qty;
$base_tax_amount = $item->getBaseTaxAmount() / $item->getQty() * $qty;
$quoteAmount += $tax_amount;
// $cartItem->getTaxAmount();
$quoteAmountBase += $base_tax_amount;
// $cartItem->getTaxAmount();
} else {
$tax_amount = $base_tax_amount = 0;
}
$shipping_amount = $address->getShippingAmount();
$base_shipping_amount = $address->getBaseShippingAmount();
$add_shipping = $rule->getApplyToShipping() ? $shipping_amount : 0;
$add_base_shipping = $rule->getApplyToShipping() ? $base_shipping_amount : 0;
$discountAmount = min($item->getRowTotal() / $item->getQty() * $qty - $item->getDiscountAmount() + $add_shipping + $tax_amount, $quoteAmount);
$baseDiscountAmount = min($item->getBaseRowTotal() / $item->getQty() * $qty - $item->getBaseDiscountAmount() + $add_base_shipping + $base_tax_amount, $quoteAmountBase);
return array($discountAmount, $baseDiscountAmount);
}
示例5: _calcTaxAmounts
/**
* Calculates tax amounts for the row item using $this->_calculator
*
* @param Mage_Sales_Model_Quote_Item $item
* @return $this
*/
protected function _calcTaxAmounts(&$item)
{
//@nelkaake -a 16/11/10: Calculator only works in magento 1.4 and up.
if (!Mage::helper('rewards/version')->isMageVersionAtLeast('1.4.2')) {
return $this;
}
// @nelkaake -a 16/11/10: Tax calculation methods
$tax = $this->_calculator->calcTaxAmount($item->getRowTotal(), $item->getTaxPercent(), false);
$baseTax = $this->_calculator->calcTaxAmount($item->getBaseRowTotal(), $item->getTaxPercent(), false);
$item->setTaxAmount($tax);
$item->setBaseTaxAmount($baseTax);
$item->setTaxableAmount($item->getRowTotal());
$item->setBaseTaxableAmount($item->getBaseRowTotal());
//@nelkaake -a 26/01/11: We don't set this so that we can later use the row total including tax to find out
// how much of the order was discounted due to catalog redemption rules.
$item->setRowTotalInclTax($item->getRowTotal() + $tax);
$item->setBaseRowTotalInclTax($item->getBaseRowTotal() + $baseTax);
return $this;
}