插件使选项下拉菜单在 opencart 产品中不起作用
Plugin makes options dropdown not working in opencart product
我对 Add/Edit 产品上的 Option
选项卡有疑问。问题是,当我安装扩展 Autocomplete No More
并且选择选项时,它会抛出此错误
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
我对 Add/Edit 产品上的 Option
选项卡有疑问。问题是,当我安装扩展 Autocomplete No More
并且选择选项时,它会抛出此错误
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