Как получить цену товара после применения скидки
Я попытался получить цену товара после того, как были применены правила цен каталога, и я не могу.
Код, который я использую для этого:
//load product by id
$product = Mage::getModel('catalog/product')->load($product->getId());
//get promo_price
$promo_price = Mage::getModel('catalogrule/rule')->calcProductPriceRule($product,$product->getPrice());
И это:
$promo_price = $product->getPrice() - $product->getDiscountAmount();
Но этот код возвращает мне значение NULL.
Кто-нибудь знает, как я могу это сделать?
2
Author: Alin Lupoiu, 2017-06-29
4 answers
Мы используем это, чтобы получить обновленную цену продукта
<?php
$_product->getPrice();
$_product->getFinalPrice();
//Here you can get the catalog rule applied price like:
$store_id = Mage::app()->getStore()->getId();
$discounted_price = Mage::getResourceModel('catalogrule/rule')->getRulePrice(
Mage::app()->getLocale()->storeTimeStamp($store_id),
Mage::app()->getStore($store_id)->getWebsiteId(),
Mage::getSingleton('customer/session')->getCustomerGroupId(),
$_product->getId()
);
if ($discountedPrice === false) { // if no rule applied for the product
$discountedPrice = $_product->getFinalPrice();
} else {
$discountedPrice = number_format($discountedPrice,2);
}
3
Author: Sumil sanghavi, 2019-08-23 21:02:46
$regularPrice = number_format($product->getPrice(), 2);
$discountedPrice = number_format($product->getFinalPrice(), 2);
$specialPrice = number_format($product->getSpecialPrice(), 2);
1
Author: PЯINCƏ, 2017-06-29 08:35:43
Использовать тип int
$promo_price = (int)$product->getPrice() - (int)$product->getDiscountAmount();
0
Author: Vijay Khirade, 2017-06-29 09:11:07
Я решаю свою проблему следующим образом:
$customerId = $coreSession['visitor_data']['customer_id'];
//Load customer to take the customer group id
$customer = Mage::getModel('customer/customer')->load($customerId);
$group= $customer->getGroupId();
//Get price after a discount per customer
$discounted_price = Mage::getModel('catalogrule/rule')->calcProductPriceRule($product
->setStoreId(1)
->setCustomerGroupId($grup),
$product->getPrice()
);
0
Author: Alin Lupoiu, 2017-07-28 13:04:09