在选项中更改价格视图

时间:2015-11-06 04:38:50

标签: php opencart opencart2.x

我创建了一个商店(opencart),其中我有一个产品,用户可以选择产品的数量和包装。所以我已经为选择数量创建了自定义选项。

产品价格如下所示: This is the Image

我必须为每包的价格加价:

enter image description here

现在结果当前:
包装:
$ 1.9
100(0)
200(+ $ 0.9)
500(+ $ 1.3)
1000(+ $ 2.9)
1200(+ $ 3.9)

我想要的是什么:
$ 1.9
100(1.9 $)
200(2.8 $)
500($ 330)


您可以在此处查看链接: http://www.shopfairpackaging.co.uk/index.php?route=product/product&path=60_69&product_id=52

2 个答案:

答案 0 :(得分:1)

Opencart选项旨在累积。这意味着当购物者选择差异选项时,最终价格会相应地增加或减少。

Opencart不支持您正在寻找的架构。但是,如果您非常绝望并需要切换到自己的架构,那么您可以编辑主题文件。

要获得您想要的结果,请执行以下操作:

  1. /catalog/view/theme/default/template/product/文件夹
  2. 中找到 product.tpl 文件
  3. 根据您的版本
  4. 在第195行附近找到此行(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
  5. 将其替换为此(<?php $additive=str_replace('$','',$option_value['price'])+str_replace('$','',$price);echo '$'.number_format($additive, 2);?>)

答案 1 :(得分:0)

Scriptonomy你的答案是正确的,它给了我00的结果,所以我做了这个

(<?php
//get first currency symbol 
$symbol = substr($price, 1); 

//get float value form string
$x = floatval(ltrim(ltrim(ltrim($option_value['price'], '£'), '$'), '€'));
$y = floatval(ltrim(ltrim(ltrim($price, '£'), '$'), '€'));
if($option_value['price_prefix'] == "+"){
  echo $symbol;      
  echo  $x + $y;                        
}elseif ($option_value['price_prefix'] == "-") {
  echo $symbol;
  echo  $x - $y;                       
}else{
  echo $symbol;
  echo $option_value['price_prefix'].$option_value['price'];;
}
?>)

告诉我,如果我做了一些事情