Opencart间接修改重载属性

时间:2014-01-24 13:04:09

标签: php opencart

我在opencart的付款成功页面上收到以下错误。

Notice: Indirect modification of overloaded property ModelCheckoutOrder::$data has no effect in /srv/www/example.com/public_html/catalog/model/checkout/order.php on line 500
Notice: Indirect modification of overloaded property ModelCheckoutOrder::$data has no effect in /srv/www/example.com/public_html/catalog/model/checkout/order.php on line 501

那些500& 501行,

$this->data['payment_firstname'] = $order_info['payment_firstname'];
$this->data['payment_lastname'] = $order_info['payment_lastname'];

如果我刷新页面,它就会消失。知道为什么会出现这个错误吗?

4 个答案:

答案 0 :(得分:2)

模型文件没有$data属性。那是控制器。这是您收到此错误的原因,因为代码正在尝试将值设置为不存在的属性

答案 1 :(得分:1)

首先你要创建该属性。 例如。在验证期间,在您的班级顶部声明:

private $error = array();

答案 2 :(得分:0)

更改 代码:

  

$这 - >数据

要 代码:

  

$数据

答案 3 :(得分:-1)

$data['payment_firstname'] = $order_info['payment_firstname'];
$data['payment_lastname'] = $order_info['payment_lastname'];