在购物车页面上显示分层定价

时间:2011-09-15 20:28:55

标签: magento

如果我在这个页面上: HTTP:///结帐/购物车/

我的购物车中的商品我想显示分层定价,与商品页面上显示的相同,如果有的话。

我的尝试是添加

<checkout_cart_index>
    <block type="catalog/product_view" name="product.tierprices" as="tierprices" template="catalog/product/view/tierprices.phtml"/>
    </checkout_cart_index>

到我的xml文件并添加

<?php echo $this->getChildHtml('tierprices') ?>

\app\design\frontend\enterprise\<mytemplate>\template\checkout\cart\item\default.phtml

什么都不做 - 有什么进一步的建议吗?

3 个答案:

答案 0 :(得分:1)

您可以编辑.phtml文件并添加$ this-&gt; getTierPrices($ _ product); //or $ this-&gt; getTierPrices($ _ item);如果您只是想显示产品的等级价格。

请注意,getTierPrices()仅在产品列表或产品视图页面上有效,因此您需要将List.php中可以找到的getTierPrices()方法复制到自定义模块。

答案 1 :(得分:1)

似乎不可能轻易改变布局。您需要修改项目渲染器并手动添加层级价格显示。要获取可用层级价格列表,您需要获得价格模型。您可以从产品型号中获取

$product->getPriceModel()

或者如果没有产品型号,请尝试以下代码

Mage::getSingleton('catalog/product_type')->priceFactory($productTypeId)

引用项目包含产品类型信息。

当你有价格模型时,只需调用方法getTierPrice()将所有层价格作为数组。

$priceModel->getTierPrice()

答案 2 :(得分:1)

这应该让你知道需要做什么。

布局文件

<?xml version="1.0"?>
<layout version="0.1.0">
    <checkout_cart_index>
        <reference name="additional.product.info">
            <block type="LokeyCoding_Cart/TierPrice" name="additional.product.info.tierprice" />
        </reference>
    </checkout_cart_index>
</version>

阻止文件

<?php
class LokeyCoding_Cart_Block_TierPrice extends Mage_Core_Block_Abstract
{
    protected function _toHtml()
    {
        $parent = $this->getParentBlock();
        if ($parent) {
            $item = $parent->getItem();
            if ($item instanceof Mage_Sales_Model_Quote_Item) {
                return $item->getProduct()->getTierPriceHtml();
            }
        }

        return '';
    }
}