Opencart通知:间接修改重载属性 ControllerCatalogProduct::$data

Opencart Notice: Indirect modification of overloaded property ControllerCatalogProduct::$data

我知道这个问题已经被问过很多次了,但我到处寻找解决方案,但在测试时除了失望之外什么也看不到。

请帮忙!

我正在修改opencart版本的核心Product Controller 2.x

我正在尝试在视图文件中呈现一个变量。但我无法访问它。每当我尝试使用类似这样的方法时,我都会收到上述错误:

$this->data['view'] = array('1','2','3','4');

如果我这样做:

$data['view'] =  array('1','2','3','4');

我根本无法访问视图文件中的 $view 变量。

请帮忙解决这个问题。


更新

我在 Product Controller 的 index 方法中赋值

我真的修好了。以防万一有人在下面遇到同样的问题是解决方案。

如果你真的不需要在视图中传递数据,opencart引擎会自动加载各自的语言数据、视图、常用文件。您不必定义它或提取数据。这就是上述语句不起作用的原因。

但是如果您需要将值从控制器传递给视图,那么您将需要手动加载所有内容,页眉、页脚、语言文本等,然后在控制器中加载视图。

希望对您有所帮助。