0

我的 OpenCart 版本 1.5.6,我没有使用 vQmod。所以最近我添加了一个自定义产品字段。本教程帮助我做到了 http://forum.opencart.com/viewtopic.php?f=22&t=36625#p181916 现在,当我尝试添加新产品来存储此错误时:

Fatal error: Call to undefined method ModelCatalogCategory::getAllCategories() in C:\apache\localhost\www\webshop.kg\admin\controller\catalog\product.php on line 1018

如果我尝试编辑现有产品,则会出现以下两个错误:

Notice: Undefined index: seo_title in C:\apache\localhost\www\webshop.kg\admin\model\catalog\product.php on line 456Notice: Undefined index: seo_h1 in C:\apache\localhost\www\webshop.kg\admin\model\catalog\product.php on line 457
Fatal error: Call to undefined method ModelCatalogCategory::getAllCategories() in C:\apache\localhost\www\webshop.kg\admin\controller\catalog\product.php on line 1018

什么可能的原因会导致这种行为?

感谢您的关注。

4

2 回答 2

1

问题出在您的控制器中,因为模型中admin/model/catalog/category.php 不包含方法(除非您在其中添加了它,因为致命错误getAllCategories()不是这种情况) - 它仅包含方法。getCategories()

此外,您的未定义索引通知说,在您的产品模型(行456457)中,您依赖于索引的存在,seo_titleseo_h1它们没有设置。

我不知道您修改过的代码,admin/model/catalog/product.php但您应该使用以下代码:

if(isset($data['seo_title'])) { /* do setting of seo title */ } /* else { do not set this } */
if(isset($data['seo_h1'])) { /* do setting of seo h1 */ } /* else { do not set this } */

也许发布用于存储新产品或更新现有产品代码的可靠方法会更有帮助......

于 2013-11-11T08:58:07.273 回答
0

admin/model/catalog/category.php 中的模型不包含方法 getAllCategories()。所以你需要在类别模型中定义它。

public function getAllCateories() {
    $query = "WRITE YOUR QUERY";
}
于 2016-07-16T04:51:52.030 回答