我在Magento中添加了优惠券折扣。
但是在结帐时或产品页面上没有显示添加代码的块。
我已尝试安装此扩展程序http://www.magentocommerce.com/magento-connect/discount-coupon-code-checkout-page.html,但它没有效果。
我是否需要在XML或PHP中进行更改以呈现折扣块?
答案 0 :(得分:1)
它默认显示但是如果你没有它,你的主题可能正在删除它的定义。在主题的布局文件夹中创建一个local.xml,其内容如下:
<checkout_cart_index>
<reference name="checkout.cart">
<block type="checkout/cart_coupon" name="checkout.cart.coupon" as="coupon" template="checkout/cart/coupon.phtml"/>
</reference>
</checkout_cart_index>
您可以编辑cart.phtml以修改页面中的位置。如果你没有看到:
<?php echo $this->getChildHtml('coupon') ?>
您可以在第一步之前尝试编写它。
答案 1 :(得分:0)
在我的情况下,折扣没有出现在shopping-cart-totals-table中我做的是: 在文件中:/app/design/frontend/base/default/template/checkout/cart/totals.phtml 我在renderTotals()
之前添加了下面的代码 $totals = Mage::getSingleton('checkout/session')->getQuote()->getTotals(); //Total object
if(isset($totals['discount']) && $totals['discount']->getValue()) {
$discount = Mage::helper('core')->currency($totals['discount']->getValue()); //Discount value if applied
} else {
$discount = '';
}
if($discount!=''){
?>
<tr><td class="a-right"><strong>Discount (Festive5):</strong></td><td class="a-right"><?php echo $discount;?></td></tr>
<?php } ?>
<?php echo $this->renderTotals();?>
它将显示折扣优惠券代码值。