我有一个 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 , 但对此一无所知。
请您参考如下方法:
如果您查看 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
)
你可以查看我的源码here ,但其中一些是荷兰语。如果您有任何问题,可以随时问我。我还通过自定义 Django 管理命令使用 csv 文件填充我的数据库。
