微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

插件使选项下拉菜单在 opencart 产品中不起作用

如何解决插件使选项下拉菜单在 opencart 产品中不起作用

我在添加/编辑产品上的 Option 选项卡上遇到问题。问题是当我安装扩展 Autocomplete No More 并且当我选择 Option 时它会抛出这个错误

Fatal error: Uncaught Error: Call to a member function getoptionData() on null in /../ocartdata/storage/modification/admin/controller/catalog/option.PHP:437

option.PHP 行 437 是

$option_data = $this->model_extension_catalog_autocomplete_no_more->getoptionData($this->request->post['option_id']);

功能就是这个

public function getoptionData() {
    
    if (isset($this->request->post['option_id'])) {

        $this->load->language('catalog/option');            
        $this->load->model('catalog/autocomplete_no_more');         
        $this->load->model('tool/image');
        
        $option_data = $this->model_extension_catalog_autocomplete_no_more->getoptionData($this->request->post['option_id']);
                        
        $this->response->setoutput(json_encode($option_data));
    }
}

有人知道为什么会抛出 null 吗?

解决方法

问题:

您正在尝试调用对象的方法

$this->model_extension_catalog_autocomplete_no_more

在对象名称中带有扩展名

但是随后您加载的模型没有路径中的扩展

$this->load->model('catalog/autocomplete_no_more')

很明显错误信号表明你还没有定义这个对象

Call to a member function getOptionData() on null

解决方案:

通过向路径添加扩展来修复它:

$this->load->model('extension/catalog/autocomplete_no_more')

或从对象名称中删除 if:

$this->model_catalog_autocomplete_no_more

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。