系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》
本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。
介绍:
基本上,Magento 2在考虑功能时非常灵活。它具有内置功能,默认情况下可以直接从管理员导入和导出产品以及更多内容。但在这种情况下,当我们在Magento 2中实施进出口产品时,需要遵循强制性规则。您可以导入/导出产品,例如简单产品、虚拟产品等。但是,如果您想导入具有自定义产品类型的产品怎么办?不用担心,下面给出的代码将帮助您导入具有自定义产品类型的产品。
让我们编写代码
步骤1: 首先,我们需要在以下路径创建import.xml文件,
app\code\Vendor\Extension\etc 并添加以下代码
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_ImportExport:etc/import.xsd">
<entityType entity="catalog_product" name="custom_product_type_name" model="Vendor\Extension\Model\Import\Type\Producttype" />
</config>
第2步: 之后,我们需要在以下路径内创建一个产品类型.php文件。
app\code\Vendor\Extension\Model\Import\Type 并添加以下代码
<?php namespace Vendor\Extension\Model\Import\Type; class Producttype extends \Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType { const BEFORE_OPTION_VALUE_DELIMITER = ';'; const PAIR_VALUE_SEPARATOR = '='; const VALUE_DYNAMIC = 'dynamic'; const VALUE_FIXED = 'fixed'; const NOT_FIXED_DYNAMIC_ATTRIBUTE = 'price_view'; const SELECTION_PRICE_TYPE_FIXED = 0; const SELECTION_PRICE_TYPE_PERCENT = 1; protected $connection; protected $_resource; protected $_cachedOptions = []; protected $_cachedSkus = []; protected $_cachedSkuToProducts = []; protected $_cachedOptionSelectQuery = []; public function isRowValid(array $rowData, $rowNum, $isNewProduct = true) { return parent::isRowValid($rowData, $rowNum, $isNewProduct); } }
步骤3: 最后刷新缓存并使用product_type列内的CSV文件中的自定义产品类型开始导入过程。
通过实施上述代码步骤,您将在Magento 2商店中成功导入自定义产品。
结语:
我希望上述解决方案可以帮助您解决在Magento 2商店中导入自定义产品的问题。