Prestashop FrontController::$context 在创建订单时受到保护 属性
Prestashop FrontController::$context is protected property when create a order
我的模块我正在尝试从购物车下订单。
在我的模块控制器文件中,我正在调用 validateOrder
PaymentModule::validateOrder((int)$urbCart->id, $order_status, $order_total, "urb-it", NULL, array(), (int)$currency->id, false, $urbCart->secure_key);
创建订单。但是我得到了错误:
PHP Fatal error: Cannot access protected property 'UrbitOrderCompleteModuleFrontController::$context in /opt/webapp/urbit/classes/PaymentModule.php on line 171'
付款模块错误发生在(第 171 行)如下
if (!isset($this->context)) {
$this->context = Context::getContext();
}
为什么说该上下文受保护 属性?如何创建订单?
validateOrder()
不是静态方法,所以在你的模块控制器中这样调用它:
$this->module->validateOrder((int)$urbCart->id, $order_status, $order_total, "urb-it", NULL, array(), (int)$currency->id, false, $urbCart->secure_key);
任何扩展 ModuleFrontController
或 ModuleAdminController
的控制器都有一个 属性 module
使用该控制器的模块对象。
编辑:
模块 class 必须扩展 PaymentModule
才能使用 validateOrder
方法。
我的模块我正在尝试从购物车下订单。
在我的模块控制器文件中,我正在调用 validateOrder
PaymentModule::validateOrder((int)$urbCart->id, $order_status, $order_total, "urb-it", NULL, array(), (int)$currency->id, false, $urbCart->secure_key);
创建订单。但是我得到了错误:
PHP Fatal error: Cannot access protected property 'UrbitOrderCompleteModuleFrontController::$context in /opt/webapp/urbit/classes/PaymentModule.php on line 171'
付款模块错误发生在(第 171 行)如下
if (!isset($this->context)) {
$this->context = Context::getContext();
}
为什么说该上下文受保护 属性?如何创建订单?
validateOrder()
不是静态方法,所以在你的模块控制器中这样调用它:
$this->module->validateOrder((int)$urbCart->id, $order_status, $order_total, "urb-it", NULL, array(), (int)$currency->id, false, $urbCart->secure_key);
任何扩展 ModuleFrontController
或 ModuleAdminController
的控制器都有一个 属性 module
使用该控制器的模块对象。
编辑:
模块 class 必须扩展 PaymentModule
才能使用 validateOrder
方法。