我是opencart
的新手,我必须编写代码,在该opencart网站上自动添加/删除/编辑产品,所以我的问题如下:
如何使用php自动将新产品添加到数据库?(也许opencart中有一些方法,所以我可以使用它们,或者我必须从头开始编写代码?)
P.S:一个例子会很棒(假设我们在数组中有产品信息)
P.P.S:并非所有产品都会自动添加。
答案 0 :(得分:9)
如果你把它们放在一个阵列中那么它就是小菜一碟。 admin / model / catalog中的opencart中有一个方法,你可以使用addProduct()。读取$ data数组的索引并尝试将数组放入该表单中。例如,在这种方法中你可以看到$ data ['model'],$ data ['image']等等。假设你已经这样做了,你可以创建一个新的控制器文件,比如在admin / controller / module / script.php中。一些代码如下。
<?php
class ControllerCatalogProduct extends Controller {
public function index() {
$products = array(...); //your products here. Eg $products[0] has all the data for the first product
$this->load->model('catalog/product');
foreach ($products as $data) {
$this->model_catalog_product->addProduct($data);
}
}
}
?>
这很简单。然后你通过http://yoursite/admin/index.php?route=module/script
答案 1 :(得分:2)
您可以创建一个关联数组,如下所示,然后在管理部分创建一个控制器来处理它。在此阵列中,您必须注意,如果您在仪表板中安装了两种语言,则必须为其他语言重复每个内容。我在下面安装了两种语言的示例,您可以按照此结构进行数组:
Array (
[product_description] => Array
(
[1] => Array
(
[name] => "product name in first language"
[meta_description] => "meta description for first" language
[meta_keyword] => "meta keywords in first language"
[description] => "product description in first" language
[tag] => "product tags in first language"
)
[2] => Array
(
[name] => "first product in second language"
[meta_description] => "meta description in second language"
[meta_keyword] => "meta tags in second language"
[description] => "product description in second language"
[tag] => "product tags in second language"
)
....
)
[model] =>
[sku] =>
[upc] =>
[ean] =>
[jan] =>
[isbn] =>
[mpn] =>
[location] =>
[price] => 2300000
[tax_class_id] => 9
[quantity] => 1
[minimum] => 1
[subtract] => 1
[stock_status_id] => 5
[shipping] => 1
[keyword] =>
[image] => data/demo/htc_touch_hd_3.jpg
[date_available] => 1394-2-23
[length] => 40
[width] => 30
[height] => 20
[length_class_id] => 2
[weight] => 23000
[weight_class_id] => 1
[status] => 1
[sort_order] => 1
[manufacturer] =>
[manufacturer_id] => 0
[category] =>
[filter] =>
[product_store] => Array
(
[0] => 0
)
[download] =>
[related] =>
[product_attribute] => Array
(
[0] => Array
(
[name] => attribute 1
[attribute_id] =>
[product_attribute_description] => Array
(
[1] => Array
(
[text] => "first language content"
)
[2] => Array
(
[text] => "second language content" )
)
)
)
[option] =>
[points] =>
[product_reward] => Array
(
[1] => Array
(
[points] =>
)
)
[product_layout] => Array
(
[0] => Array
(
[layout_id] =>
)
)
)
为了处理管理员方面的控制器,我认为最简单的方法是尼古拉斯在上一个回答中所说的。
答案 2 :(得分:1)
您需要管理5个表格才能插入产品详细信息。
上述解决方案也很好。
是的,您可以编写自己的PHP脚本来添加产品或直接从上表中的Excel中导入产品。
美好的一天, 西仁答案 3 :(得分:0)
上述两个答案的组合非常适合使用admin导入产品。但是如果您可以管理产品的excel或csv文件,那么以下扩展名是导入产品的非常好的扩展。