在产品列表中显示tier_price的数量

时间:2013-09-30 11:19:45

标签: magento

我需要在产品列表中的常规价格附近显示tier_price的数量字段(最低tier_price的最高数量)。现在,产品列表中的$ _product-> getTierPrice()为我提供了数组(1),其中'tier_price'=> xxx和'qty'=> 1(其中xxx是我的等级价格中最低的)。是否有可能在产品列表中获得tier_price的数量?

PS。在产品视图中,我可以看到$ _product-> getTierPrice()的层级价格数组。

Magento CE 1.7.0.2

2 个答案:

答案 0 :(得分:1)

您可以将此代码放在list.phtml或view.phtml中,以显示每个数量的等级价格。

$attribute = $_product->getResource()->getAttribute('tier_price');
$currency_code = Mage::app()->getStore()->getCurrentCurrencyCode();
$symbol = Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol();
if ($attribute) {
    $attribute->getBackend()->afterLoad($_product);
    $tierPrices = $_product->getTierPrice();

    foreach($tierPrices as $tierPrice)
    {
    ?>
    <span class="priceqty"><?php echo '+'.round($tierPrice["price_qty"], 0);?></span><br>
    <span class="pricetitle"><?php echo $symbol.number_format($tierPrice["price"], 2, '.', '');?></span>
<?php  
    } 
} 
?>

答案 1 :(得分:0)

如果您正在寻找Magento方式:

 $attribute = $_product->getResource()->getAttribute('tier_price');

    if ($attribute) {
       $attribute->getBackend()->afterLoad($_product);
       $tierPrices = $_product->getTierPrice();
    }

来自/app/code/core/Mage/Catalog/Model/Product/Type/Price.php getTierPrice()

我已在类别页面上测试了Magento 1.4.0.2(它也可以在其他版本上使用)并且可以正常使用

如果你想用SQL做,请看这里: Magento: Display tier prices at category listing page