1

我有一个 magento2 项目。我想将 magento 2 中的产品目录导入 django oscarcommerce。官方文档解释了一个进口商(http://django-oscar.readthedocs.io/en/releases-1.1/howto/importing_a_catalogue.html)。但是他们不支持,因为它有越野车。我试图弄清楚它是如何工作的。但我找不到要测试的源 csv 文件。

是否有任何模块/脚本可以将 magento2 中的数据转换为 oscar commerce?我检查了This thread,但对此一无所知。

4

1 回答 1

6

如果您检查 django-oscar 导入器的源代码,编写自定义导入器代码并不太难。我自己做了这个,这里是最重要的步骤:

1/ 获取或创建一个 ProductClass 实例

product_class = ProductClass.objects.get_or_create(name='<some_name>')

2/ 为您的下一个产品创建一个类别字符串。该字符串的格式为“main_category>sub_category>even_deeper_category”。例如:“书籍>小说>惊悚片”

category_string = create_from_breadcrumbs('some>string>here')

3/ 创建你的产品

product = Product.objects.get_or_create(upc=upc)

product.product_class = product_class
product.title = ...
...

product.save()

4/ 更新这个新产品的 ProductCategory(它由一个类别字符串和一个产品组成)

ProductCategory.objects.update_or_create(product=product, category=category_string)

5/ 接下来您需要更新合作伙伴信息(每个产品都需要一个合作伙伴记录,这是存储定价信息的地方)。如果您自己创建产品并且不使用合作伙伴,则只需编一些随机名称。

partner = Partner.objects.get_or_create(name='Partner_Name')

importer = CatalogueImporter(logger=None)

importer._create_stockrecord(
        item=product,
        partner_name=partner.name,
        partner_sku='ProductReferenceFromPartner'>,
        price_excl_tax=<SELLING_PRICE>,
        num_in_stock=<STOCK_COUNT>,
        stats=None
        )

你可以在这里查看我的源代码,但其中一些是荷兰语的。如果您有任何问题,您可以随时问我。我还通过自定义 Django 管理命令使用 csv 文件来填充我的数据库。

于 2017-03-22T14:03:12.537 回答