如何以编程方式将产品添加到Opencart数据库

时间:2013-06-15 10:43:03

标签: database insert opencart

  • 我想知道是否有一个特殊的opencart函数可以在前端页面上使用php / html格式以编程方式向Opencart数据库添加/编辑产品(例如wordpress“wp_insert_post”函数)或者我必须全部写入我的代码PHP方式(插入DB_TABLE .....)

  • 我必须使用哪些opencart数据库表来添加带有图像的简单产品信息,它只是产品和product_description表,当然我需要在使用front添加产品后也在管理页面中显示该产品 - 页面

我真的需要一些参考资料来告诉我如何做到这一点

(我正在使用opencart 1.5.1.3)

2 个答案:

答案 0 :(得分:18)

您只需要创建一个值的关联数组,以便传递给addProduct()中的/admin/model/catalog/product.php方法。要在控制器中加载模型,请使用

// Assoc array of data
$productData = array(
    'name' => 'Product Name Here',
    'model' => 'ABC123',
    ...
);

// Load model into memory if it isn't already
$this->load->model('catalog/product');

// Attempt to pass the assoc array to the add Product method
$this->model_catalog_product->addProduct($productData);

这正是OpenCart在管理区域中所做的,只是它使用表单中的POSTed值作为数组传递

请注意,某些值(如描述,图像等)是数据数组本身内的数组,因此需要进行编码。如果您想查看模型从产品添加表单中获得的内容,请打开模型php文件,在{1}}方法中找到addProduct()方法和print_r $data变量。方法,它将为您提供数组键的完整列表,其中大多数不是必需的。请参阅管理员中的表单。可以很容易地找出哪个字段与数组中的哪个键相关

有关getting started as a developer in OpenCart

的更多信息

答案 1 :(得分:1)

去过那里。

最重要的是,不仅要将产品数据添加到表 PREFIX_product ,还要链接到 PREFIX_product_to_category 中的类别。

但也要在 PREFIX_product_description with product_id )中创建行。 没有它产品显示在管理区域,但不能编辑,链接将使用空的product_id编号,如" admin / index.php?route = catalog / product / edit& product_id ="。

在我的情况下,包含和使用OC核心模型或清除缓存是不必要的。通过MySQL查询添加的产品变得可编辑且功能齐全。

OC版本2.2.0.0