4

I am working on Opencart 2.3, I have installed a new extension into the system and since then I am getting an error in the product description page in the front end:

Undefined property: Proxy:: function_name**

The uploaded extension is in the admin section, the product description page was working fine before installing the new extension.

Note: The extension has vqmod file and modification folder has the files related to the extension.

4

2 回答 2

7

我有这个。我的问题是我的扩展路径是

扩展\模块\name_here

但因为我刚刚从 1.5.6 升级它,它只有 module\name_here。我忘了更改类名以匹配新路径。

class Model**Extension**Modulename_here extends Model {

缺少扩展词。这个错误真的很模糊,只有在 github 上找到它才明白我的错误是什么。

于 2017-01-17T16:31:38.780 回答
0

我在 Live Server 中遇到过这个问题。但问题是我已经加载了模块并正确调用了它。但是,它仍然对我没有任何帮助。

$this->load->model('catalog/product');
$this->model_catalog_product->addmyproducts($myproducts);

class Model**Extension**Modulename_here extends Model {

解决这个问题的解决方案是弄清楚
OpenCart 框架中的架构是如何工作的?
请遵循以下解决方案:

  • 在 Opencart 目录下找到 /system/storage/modification/admin
    在这里您将能够看到 MVC 目录
  • 在修改文件夹下,你会发现上面写的所有代码
  • 是否需要识别模型中已定义的模块调用部分?
  • 识别后你会发现函数定义不存在就是这个原因!
  • 此外,如果您在目录 /system/storage/modification/admin/.../... 下定义相同的函数,您将永远不会看到 Undefined 属性:Proxy::module_name

更新

无论定义的函数如何,如果在一个文件下有两个同名函数被调用两次,则会在 vqmod 模块中引起歧义

例如。调用方法getWarehouseDetails(),如果它位于index()&另一个在warehousedetails()单个文件中,在加载时有两个不同的调用,两个不同的文件名,$this->load->model(../..);你会得到

注意:未定义的属性:第 51 行 /var/www/html/bluemb/vqmod/vqcache/vq2system_storage_modification_system_engine_action.php 中的 Proxy::getWarehouseDetails

在下面例如。在 index() 中调用 getWarehouseDetails() 和在warehousedetails() 中调用另一个

$this->load->model('tool/upload');
$warehouse_details = $this->model_tool_upload->getWarehouseDetails($seller_id);

$this->load->model('catalog/information');
$this->data['warehouse_details'] = $this->model_catalog_information->getWarehouseDetails($seller['seller_id']);
于 2018-03-07T10:31:05.123 回答