【问题标题】:coupon code description magento on cart购物车上的优惠券代码描述 magento
【发布时间】:2013-07-16 23:17:10
【问题描述】:

我们如何将优惠券代码描述提取到购物车中。目前,magento 显示已应用优惠券代码“test001”。

我想知道我们如何获取我们在 magento 后端添加的描述而不是该消息。

显示消息“优惠券代码“test001”已应用,您刚刚节省了 100 美元,祝您购物愉快。”

Magento get coupon description我在看这个,但它不适合我。

【问题讨论】:

  • 为什么这对你不起作用有任何错误,如果不是,那么你试图把那个代码放在哪里?
  • "app/code/core/Mage/Checkout/controllers/CartController.php" 在这个文件中它不打印只是空白

标签: magento


【解决方案1】:

试试这个代码。它对我有用

$rule = Mage::getModel('salesrule/rule')->getCollection()
    ->addFieldToFilter('code', '1234');
foreach ($rule as $value) {

    $description = $value->getDescription();
    print_r($description);

}.

我把这段代码放在购物车控制器的 addAction() 函数下。

【讨论】:

  • 我正在使用 1.7 版的 magento,我添加了代码但它什么也没做
  • @user2328366 在 print_r() 之后写 exit 以检查它显示的内容。
【解决方案2】:

Mahmood Rehman 提交的代码有效,即使在 1.7.0.2 中也是如此。

更改“app/code/core/Mage/Checkout/controllers/CartController.php”

在公共函数 couponPostAction()中

寻找

      if ($couponCode == $this->_getQuote()->getCouponCode()) {
                $this->_getSession()->addSuccess(
                    $this->__('Coupon code "%s" was applied.', Mage::helper('core')->htmlEscape($couponCode)) . ' '.$description
                );
            }      

改成

if ($couponCode == $this->_getQuote()->getCouponCode()) {
                $description = '';
                try { 
                   $rule = Mage::getModel('salesrule/rule')->getCollection()
                        ->addFieldToFilter('code', 'YOURCOUPONCODE');
                    foreach ($rule as $value) {
                        $description = $value->getDescription();
                    }                        
                } catch (Exception $e) {
                    Mage::logException($e);
                }
                $this->_getSession()->addSuccess(
                    $this->__('Coupon code "%s" was applied.', Mage::helper('core')->htmlEscape($couponCode)) . ' '.$description
                );

当然这可以改进,但确实可以。

问候,

【讨论】: