我想知道是否有一个特殊的opencart函数可以在前端页面上使用php / html格式以编程方式向Opencart数据库添加/编辑产品(例如wordpress“wp_insert_post”函数)或者我必须全部写入我的代码PHP方式(插入DB_TABLE .....)
我必须使用哪些opencart数据库表来添加带有图像的简单产品信息,它只是产品和product_description表,当然我需要在使用front添加产品后也在管理页面中显示该产品 - 页面
我真的需要一些参考资料来告诉我如何做到这一点
(我正在使用opencart 1.5.1.3)
答案 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
变量。方法,它将为您提供数组键的完整列表,其中大多数不是必需的。请参阅管理员中的表单。可以很容易地找出哪个字段与数组中的哪个键相关
答案 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