如果我在这个页面上: 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
什么都不做 - 有什么进一步的建议吗?
答案 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 '';
}
}