当商店切换到另一家商店时,价格不会在购物车中更新

时间:2015-05-05 12:37:37

标签: magento

我们安装了magento1.9。在这个网站,我们有多种选择的产品。我们为选项添加了自定义价格,它运行正常。具有自定义选项和总价格的产品可以添加到购物车中。使用代码

设置自定义价格
$quote_item->setOriginalCustomPrice($new_price['price'])

我的magento是一家拥有不同货币的多语言商店。基本价格为英镑。当我们将其切换到另一个商店时,购物车货币会更新,但价格保持不变,相对于商店货币,它不会分别减少或增加。

3 个答案:

答案 0 :(得分:1)

您在Magento ver上遇到了同样的问题。 1.9.3.3。 要解决我在controller_action_predispatch上创建一个观察者

OnTick()

在方法内部,我检查了是否调用了商店更改,并强制更新购物车:

<frontend>
    <events>
        <controller_action_predispatch>
            <observers>
                <updatecartonstorechange>
                    <type>singleton</type>
                    <class>megaobserver/Observer</class>
                    <method>updateCartOnStoreChange</method>
                </updatecartonstorechange>                  
            </observers>
        </controller_action_predispatch>
    </events>
</frontend>

答案 1 :(得分:0)

Magento的价格是每个网站或全球,而非每个商店(查看)。但是,我认为这不是你的问题,我相信你的问题只是在模板中用来实际渲染前端价格的不良代码。

您是否可以从您看到错误价格的网页的模板(.phtml文件)中提供相应的代码?

答案 2 :(得分:0)

我遇到了同样的问题。在添加自定义价格之前,根据高度和宽度设置,并在购物车中正确显示。但在改变货币时,物品价格没有变化。我正在使用&#34; &#34;这个事件。我的代码就像

public function updateProductCartPrice($ observer,$ new_price){      $ quote_item = $ observer-&gt; getQuoteItem();      $ quote_item =($ quote_item-&gt; getParentItem()?$ quote_item - &gt; getParentItem():$ quote_item);

if($new_price):

    $quote_item ->setCustomPrice($new_price);
    $quote_item ->setOriginalCustomPrice($new_price);
    $quote_item ->getProduct()->setIsSuperMode(true);

endif;

}