本文整理汇总了PHP中Mage_Sales_Model_Quote_Item::setRowTotal方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Quote_Item::setRowTotal方法的具体用法?PHP Mage_Sales_Model_Quote_Item::setRowTotal怎么用?PHP Mage_Sales_Model_Quote_Item::setRowTotal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Quote_Item
的用法示例。
在下文中一共展示了Mage_Sales_Model_Quote_Item::setRowTotal方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getItemProductPrice
/**
* Fetches the item price that should be used for calculating max catalog points spending
* for the given item. Uses the following check hierarchy:
* CustomPrice
* > if not set use item price
* > if not set use product final price
* > if not set use
*
* @param Mage_Sales_Model_Quote_Item $item
*/
public function getItemProductPrice($item)
{
// Prepare data from item and initalize counters
$store_currency = (double) $this->getCurrencyRate($item->getQuote());
if ($item->hasCustomPrice()) {
$product_price = (double) $item->getCustomPrice() * $store_currency;
} elseif (Mage::helper('tax')->priceIncludesTax() && ($item->getRowTotalBeforeRedemptions() && $item->getRowTotal())) {
$rt = (double) $item->getRowTotal();
$item->setRowTotal($item->getRowTotalBeforeRedemptions());
$product_price = (double) Mage::helper('checkout')->getPriceInclTax($item);
$item->setRowTotal($rt);
} else {
// item doesn't have a price, use the item product final price
$item_price = (double) $item->getPrice();
$item_price = !empty($item_price) ? $item->getPrice() : $item->getProduct()->getFinalPrice();
$product_price = (double) $item_price * $store_currency;
}
return $product_price;
}
示例2: _calcItemRowTotal
/**
* Calculate item row total
*
* @param Mage_Sales_Model_Quote_Item $item
* @return $this
* @see Mage_Sales_Model_Quote_Item::calcRowTotal()
*/
protected function _calcItemRowTotal($item)
{
$qty = $item->getTotalQty();
$total = $this->_getDataHelper()->roundUp($item->getCalculationPriceOriginal(), 4) * $qty;
$baseTotal = $this->_getDataHelper()->roundUp($item->getBaseCalculationPriceOriginal(), 4) * $qty;
$item->setRowTotal($this->_getDataHelper()->roundUp($total, 4));
$item->setBaseRowTotal($this->_getDataHelper()->roundUp($baseTotal, 4));
return $this;
}
示例3: _getTotalItemCatalogDiscount
/**
* Returns the total accumulated catalog discounts on an item
* @param Mage_Sales_Model_Quote_Item|Mage_Sales_Model_Order_Item $item
* @return int negative discount amount
*/
protected function _getTotalItemCatalogDiscount($item)
{
if (!$item->getQuoteId() || !$item->getId()) {
return 0;
}
$row_total_before_disc = $item->getRowTotalBeforeRedemptions();
$row_total = $item->getRowTotal();
if ($item->getRewardsCatalogDiscount()) {
$total_discount = $item->getRewardsCatalogDiscount();
} else {
if (empty($row_total_before_disc)) {
$item->setRowTotal($item->getRowTotalBeforeRedemptions());
$item->setRowTotalInclTax($item->getRowTotalBeforeRedemptionsInclTax());
$total_discount = $this->_getRedeemer()->getTotalCatalogDiscount($item);
} else {
$total_discount = $item->getRowTotalBeforeRedemptions() - $item->getRowTotal();
}
}
return $total_discount;
}
示例4: resetItemDiscounts
/**
*
* @param Mage_Sales_Model_Quote_Item $item
*/
public function resetItemDiscounts($item)
{
if (!$item) {
return $this;
}
if ($item->getRowTotalBeforeRedemptions() == 0) {
$item->setRowTotalBeforeRedemptions($item->getRowTotal());
$item->setRowTotalBeforeRedemptionsInclTax($item->getRowTotalInclTax());
} elseif ($item->getRowTotalBeforeRedemptions() < $item->getRowTotal()) {
$item->setRowTotal($item->getRowTotalBeforeRedemptions());
$item->setRowTotalInclTax($item->getRowTotalBeforeRedemptionsInclTax());
} else {
// do nothing
}
return $this;
}
示例5: resetItemDiscounts
/**
*
* @param Mage_Sales_Model_Quote_Item $item
*/
public function resetItemDiscounts($item)
{
if (!$item) {
return $this;
}
if ($item->getRowTotalBeforeRedemptions() == 0) {
$item->setRowTotalBeforeRedemptions($item->getRowTotal());
$item->setRowTotalBeforeRedemptionsInclTax($item->getRowTotalInclTax());
} elseif ($item->getRowTotalBeforeRedemptions() < $item->getRowTotal()) {
$item->setRowTotal($item->getRowTotalBeforeRedemptions());
$item->setRowTotalInclTax($item->getRowTotalBeforeRedemptionsInclTax());
} else {
// do nothing
}
if (!Mage::helper('rewards')->isBaseMageVersionAtLeast('1.4')) {
// only happens in Magento 1.3
$rowTotalInclTax = $item->getRowTotalBeforeRedemptions() * (1 + $item->getTaxPercent() / 100);
$item->setRowTotalBeforeRedemptionsInclTax($rowTotalInclTax);
}
return $this;
}