Cakephp 与ctp有问题。我从控制器传递值。在ctp显示通知(8)中。如何修复它

Cakephp 与ctp有问题。我从控制器传递值。在ctp显示通知(8)中。如何修复它,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,如何修复通知(8):未定义变量:百分比[APP/Template/Cart/checkout.ctp,第182行] 控制器: if ($this->request->is('post')) { $CheckCoupon = $this->Campaign->find('all') ->where(['Campaign.discount_coupon_id' => $this->request

如何修复通知(8):未定义变量:百分比[APP/Template/Cart/checkout.ctp,第182行]

控制器:

if ($this->request->is('post')) {
            $CheckCoupon = $this->Campaign->find('all')
                    ->where(['Campaign.discount_coupon_id' => $this->request->data('coupon')])->first();
            $percentage = $CheckCoupon['discount_percentage'];  
<?php 
$actualTotalAmount=$subtotal;
$discountPercent=$percentage;
$discountAmount=($actualTotalAmount)*($discountPercent/100 );
$requestAmount=$discTotalamount=($actualTotalAmount)-$discountAmount;
?>
Ctp:

if ($this->request->is('post')) {
            $CheckCoupon = $this->Campaign->find('all')
                    ->where(['Campaign.discount_coupon_id' => $this->request->data('coupon')])->first();
            $percentage = $CheckCoupon['discount_percentage'];  
<?php 
$actualTotalAmount=$subtotal;
$discountPercent=$percentage;
$discountAmount=($actualTotalAmount)*($discountPercent/100 );
$requestAmount=$discTotalamount=($actualTotalAmount)-$discountAmount;
?>

控制器代码没有显示您实际将
$percentage
变量传递给视图。要在CakePHP中将变量传递给视图,需要使用
set
:-

$this->set('percentage', $percentage);
当变量名与要设置的名称相同时,还可以使用该名称创建包含变量及其值的数组:-

$this->set(compact('percentage'));

控制器代码不会显示您实际将
$percentage
变量传递给视图。要在CakePHP中将变量传递给视图,需要使用
set
:-

$this->set('percentage', $percentage);
当变量名与要设置的名称相同时,还可以使用该名称创建包含变量及其值的数组:-

$this->set(compact('percentage'));

我也在使用压缩方法$此->设置(紧凑(“百分比”);我仍然有一个问题,
set
方法被调用了吗?很难帮助您看到实际设置变量的代码。控制器中的值打印正确。只有问题才能到达ctp。有没有发现问题的猜测?在If条件$this->set('percentage',$percentage);&在if条件之前初始化它。我也在使用compact方法$此->设置(紧凑(“百分比”);我仍然有一个问题,
set
方法被调用了吗?很难帮助您看到实际设置变量的代码。控制器中的值打印正确。只有问题才能到达ctp。有没有发现问题的猜测?在If条件$this->set('percentage',$percentage);&在if条件之前初始化它。