OpenCart无法添加或编辑产品


OpenCart can't add or edit product

我的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

有什么可能的原因会造成这样的行为?

感谢您的关注。

问题出在您的控制器中,因为 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 } */

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

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

public function getAllCateories() {
    $query = "WRITE YOUR QUERY";
}