首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Magento模块不起作用的促销活动

在Magento模块不起作用的促销活动
EN

Stack Overflow用户
提问于 2014-08-27 00:03:09
回答 2查看 1.5K关注 0票数 1

我有一个收银机模块,以取代普通的结帐I Magento 1.8。它有一个独特的url,例如mystore.com/mycashier

我的问题是,阿米斯蒂的折扣故障(标签和个别折扣金额)没有出现在购物车中。例如,它在mystore.com/checkout/cartmystore.com/checkout/onepage,中工作,但在mystore.com/mycashier.中不起作用。

我在discount.phtml中找到了这些特定的行

代码语言:javascript
复制
<?php if (is_array($this->getTotal()->getFullInfo())) : ?>
<?php foreach ($this->getTotal()->getFullInfo() as $info): ?>

$this->getTotal()->getFullInfo()mystore.com/mycashier.中为空所以我试着用分析器追踪到底发生了什么:

在访问mystore.com/checkout/cart时,在分析器中可以找到下面的行,而在访问mystore.com/mycashier时则不能找到

代码语言:javascript
复制
OBSERVER: amasty_promo_model_observer   
CORE::create_object_of::Amasty_Rules_Model_SalesRule_Rule_Condition_Product_Combine
CORE::create_object_of::Amasty_Rules_Model_SalesRule_Rule_Condition_Product
OBSERVER: amasty_rules_model_observer

但是,请注意,总折扣金额是可见的,工作完美,只是没有个别的折扣标签和金额。

我能做些什么来使这件事成功,我该如何做呢?

任何想法都是值得赞赏的!

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-02 09:24:13

最后我找到了解决办法,多亏了阿米斯蒂。

在出纳模块中,我需要通过Mage::getModel('checkout/cart')->getQuote() (特别是从getTotals() )触发salesrule_validator_process

因此,我在模块的indexController文件中的布局呈现之前添加了两行:

代码语言:javascript
复制
    $new_quote = Mage::getModel('checkout/cart')->getQuote();
    $new_quote->collectTotals();
票数 0
EN

Stack Overflow用户

发布于 2014-08-29 09:00:31

问题中的promo模块在文件promo模块中添加单个项目折扣

它观察事件salesrule_validator_process并检查项目折扣是否大于零。然后打电话

代码语言:javascript
复制
$this->_addFullDescription($observer->getEvent()->getAddress(), 
                $rule, $item, $amountToDisplay);  

它的功能,它反过来设置地址完整的描述。

然后将其添加到类Mage_SalesRule_Model_Quote_Discount中,并在模板中显示。

所以您的自定义模块可以1.不要抛出事件

  1. 重写类Mage_SalesRule_Model_Quote_Discount
  2. 对总计使用自定义模板
  3. 使用隐藏折扣的CSS (选中页面HTML源)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25516977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档