我们安装了magento1.9。在这个网站,我们有多种选择的产品。我们为选项添加了自定义价格,它运行正常。具有自定义选项和总价格的产品可以添加到购物车中。使用代码
设置自定义价格$quote_item->setOriginalCustomPrice($new_price['price'])
我的magento是一家拥有不同货币的多语言商店。基本价格为英镑。当我们将其切换到另一个商店时,购物车货币会更新,但价格保持不变,相对于商店货币,它不会分别减少或增加。
答案 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;
}