1

我有一个 XML 文档和一个全新的 OpenCart 安装。XML 文档的内容是: http: //pastebin.com/59WeK4Qk我能够使用以下方法获取每个标签及其值simplexml()

$sxml = simplexml_load_file("products-sample.xml");

foreach($sxml->products->children() as $products)
{
    foreach($products->children() as $product)
    {
        echo 'Tag: '. $product->getName(). ' Value:' . $product.'<br />';
    }
    echo '<hr />';
}

但是我没有opencart的编码经验,所以我想知道是否有任何关于使用opencart数据库的指南或教程。

我的主要问题是将我从 XML 解析的信息放在哪里?

4

2 回答 2

3

OpenCart 数据库表的名称大多不言自明,但您可能会忽略一些重要的连接,例如oc_product_to_store. 根据您的确切需求,可以忽略一些,如product_attributeor 。product_discount

OpenCart 允许产品属于多个类别和多个商店,并且某些数据可能是多种语言的。这些一对多连接需要单独的表。也有简单的一对一连接,例如制造商,其中相同的信息对多个产品是通用的,因此通过 _id 链接。

我不会坐在这里免费为您的数据编写导入脚本,但这里有一些我从最近自己完成的导入项目中学到的东西,希望对某人有所帮助。

您的问题是“在哪里”而不是“如何”,所以我假设您已经有了在脚本中执行 MySQL 查询的首选方法。

这些是我需要在 INSERT 中使用的表格和字段,以便将产品放入 OpenCart,以便将其添加到购物车中。

  • oc_product : model, sku, upc, ean, jan, isbn, mpn, location, quantity, stock_status_id, manufacturer_id, shipping, price, tax_class_id, date_available, status, date_added, date_modified,image
  • oc_product_description : product_id, language_id, name, description, meta_description, meta_keyword,tag
  • oc_product_to_store product_id ,store_id
  • oc_product_to_category product_id ,category_id

您需要首先处理您的类别和制造商并添加它们,以便您可以查找他们的 ID 并使用它。

如果您以后可能需要使用更新的 XML 文件更新产品,您应该使用skuupceanjanisbn之一mpn来存储标识引用(可能是您的code)。

要识别正确的字段以及有效值是什么,这里有四个简单的步骤:

  1. 导出数据库的备份(例如使用 phpMyAdmin)并将其提取到文本文件中
  2. 使用 OpenCart 的管理工具从您的 XML 中手动添加一种产品(完全正确,包括设置正确的税级)
  3. 再次导出并提取,然后比较两个文件(例如使用 Beyond Compare)
  4. 仔细查看每个更改字段的字段类型(包括字符串长度),并找出任何 _id 与什么相关。
于 2012-11-19T11:07:07.880 回答
0

您可以将 XML 保存为 CSV,然后使用众多 CSV 导入扩展之一,例如https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=17

于 2019-02-26T11:24:12.990 回答