繁体   English   中英

Amasty促销不适用于Magento模块

[英]Amasty promotions not working in Magento module

我有一个收银员模块,可以代替普通的Magento 1.8结帐。 它具有唯一的网址,例如mystore.com/mycashier

我的问题是,Amasty中的折扣明细(标签和个人折扣金额)没有显示在购物车中。 例如,这在mystore.com/checkout/cartmystore.com/checkout/onepage中有效 ,而在mystore.com/mycashier中则无效

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

<?php if (is_array($this->getTotal()->getFullInfo())) : ?>
<?php foreach ($this->getTotal()->getFullInfo() as $info): ?>

$ this-> getTotal()-> getFullInfo()mystore.com/mycashier中为NULL。 因此,我尝试使用探查器跟踪发生的情况:

在访问mystore.com/checkout/cart时,在探查器中找到以下几行,但访问mystore.com/mycashier却未找到

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

但是,请注意,总折扣金额可见并且可以正常使用,而单个折扣标签和金额却没有。

我可以做些什么来做这项工作,我该怎么做?

任何想法表示赞赏!

谢谢!

问题中的促销模块在文件app \\ code \\ local \\ Amasty \\ Rules \\ Model \\ Observer.php中添加单个项目折扣

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

$this->_addFullDescription($observer->getEvent()->getAddress(), 
                $rule, $item, $amountToDisplay);  

该函数依次设置地址的完整描述。

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

因此,您的自定义模块可以1.不引发事件
2.重写类Mage_SalesRule_Model_Quote_Discount
3.使用自定义模板进行总计
4.使用隐藏折扣的CSS(检查页面HTML源代码)

终于,有了Amasty,我找到了解决方案。

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

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

    $new_quote = Mage::getModel('checkout/cart')->getQuote();
    $new_quote->collectTotals();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM