我的模块我试着从购物车订购。
在我的模块控制器文件中,我正在调用validateOrder
PaymentModule::validateOrder((int)$urbCart->id, $order_status, $order_total, "urb-it", NULL, array(), (int)$currency->id, false, $urbCart->secure_key);
创建订单。但是我收到了错误:
PHP致命错误:无法在第171行的/opt/webapp/urbit/classes/PaymentModule.php中访问受保护的属性'UrbitOrderCompleteModuleFrontController :: $ context'
支付模块错误发生在(第171行)低于
if (!isset($this->context)) {
$this->context = Context::getContext();
}
为什么将上下文称为受保护财产?我该如何创建订单?
答案 0 :(得分:2)
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
对象。
编辑:
模块类必须扩展PaymentModule
才能使用validateOrder
方法。