应用优惠券价值时的Opencart计算?

应用优惠券价值时的Opencart计算?,opencart,tax,Opencart,Tax,我使用的是opencart版本2.3.0.2 在这里,我得到了所有的值,除了我的息票值,税值出错,显示值也出错 我要在申请优惠券和 应用票面价值后的单位折扣 我在下面编码了一些东西,但无法获得单位折扣的正确值。。 通过使用下面的代码,我得到了总的折扣金额,我想要个人折扣税和折扣金额时,应用优惠券价值 $this->load->model('extension/total/coupon'); $coupon_info = $this->model_ext

我使用的是opencart版本2.3.0.2

在这里,我得到了所有的值,除了我的息票值,税值出错,显示值也出错

我要在申请优惠券和 应用票面价值后的单位折扣

我在下面编码了一些东西,但无法获得单位折扣的正确值。。 通过使用下面的代码,我得到了总的折扣金额,我想要个人折扣税和折扣金额时,应用优惠券价值

$this->load->model('extension/total/coupon');

            $coupon_info = $this->model_extension_total_coupon->getCoupon($this->session->data['coupon']);
            if(isset($coupon_info) && !empty($coupon_info))
            {
            foreach($product as $taxpro) {


                if($coupon_info['type'] == 'F') 
                        {
                            $discount = $coupon_info['discount'] * ($taxpro['total'] / $sub_total);
                        } else
                        if ($coupon_info['type'] == 'P') 
                        {
                            $discount = $taxpro['total'] / 100 * $coupon_info['discount'];
                        }

            $tax_rates = $this->tax->getRates($taxpro['total'] - ($taxpro['total'] - $discount), $taxpro['tax_class_id']);  
            foreach ($tax_rates as $tax_rate) 
                            {
                                echo "<pre>"; print_r($total_data['taxes'][$tax_rate['tax_rate_id']]);echo "<pre>";
                                if ($tax_rate['type'] == 'P') 
                                {

                                    $total_data['taxes'][$tax_rate['tax_rate_id']] -= $tax_rate['amount'];
                                }



                                 echo "<pre>"; print_r($total_data['taxes'][$tax_rate['tax_rate_id']]);
                            }


             foreach($tax_rates as $tax_coupon)
             {
                 $protax = $tax_coupon['amount'];

                 $protax_unit = round($protax*$taxpro['quantity'],2);
                 $total_unit_tax += $protax_unit;

                 $coupon_tax += $tax_coupon['amount'];
             }
            }

           }
$this->load->model('extension/total/优惠券');
$coupon\u info=$this->model\u extension\u total\u-coupon->getCoupon($this->session->data['coupon']);
如果(isset($优惠券信息)&&!空($优惠券信息))
{
foreach($taxpro形式的产品){
如果($优惠券信息['type']='F')
{
$折扣=$优惠券信息['折扣]]*($taxpro['total']/$sub total);
}否则
如果($优惠券信息['type']='P')
{
$折扣=$taxpro['total']/100*$优惠券信息['折扣'];
}
$tax_rates=$this->tax->getRates($taxpro['total']-($taxpro['total']-$discount),$taxpro['tax_class_id');
foreach($税率为$税率)
{
echo“”;打印($total_data['taxes'][$tax_rate['tax_rate\u id']);echo“”;
<?php 
$prepareDiscount = array();
foreach ($products as $product){
$prepareDiscount[$taxRateForProduct] = $productTotal;

}
如果($tax_rate['type']='P') { $total_data['taxes'][$tax_rate['tax_rate_id']-=$tax_rate['amount']; } echo”“;打印($total_data['taxes'][$tax_rate['tax_rate\u id']);
<?php 
$prepareDiscount = array();
foreach ($products as $product){
$prepareDiscount[$taxRateForProduct] = $productTotal;

}
} foreach($tax_利率为$tax_息票) { $protax=$tax_息票['金额]; $protax_单位=整数($protax*$taxpro[‘数量’],2); $total_unit_tax+=$protax_unit; $tax_tax+=$tax_tax息票['金额]; } } }
您需要保存所有含税产品。我省略了很多代码,以便更清楚地了解如何思考

例如:

这是一个示例代码。如果您对更深入的内容感兴趣,只需查看支付网关是如何做到这一点的。使所有这些工作正常进行的关键是在迭代产品时准备折扣