我在 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']);