Magento 2: How To Import Products with Custom Product Type

How To Import Products With Custom Product Type M2

Hello Magento Folks?,

How’s everyone doing? Welcome back to our article of How To Series for Magento 2 where we are going to understand Magento 2: How To Import Products with Custom Product Types. Previously, in our most recent article we have learned about Magento 2: How to Save Custom Attribute Value After Customer Register 

Let’s Get deep into this?

Introduction:

Basically, Magento 2 is very flexible when considered features. It has an inbuilt functionality where by default one can import and export products and many more things from the admin directly. But in condition, there are mandatory rules to follow while we are implementing the importing and exporting products in Magento 2. You can import-export products like a simple product, virtual products, etc. But in case what if you want to import products with custom product types? No worries, the below-given code will help you in importing products with custom product types.

Let’s Code It

Step 1: Firstly, we need to create  import.xml file at the following path,

app\code\Vendor\Extension\etc and add the below code

<?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>

Step 2: After that, we need to create a Producttype.php file inside the below path.

app\code\Vendor\Extension\Model\Import\Type and add below code

<?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); 
} 
}

Step 3: And finally refresh the cache and start your import process with a custom product type in your CSV file inside the product_type column.

By implementing the above steps of code you will be successfully importing custom products in your Magento 2 store.

Final Words:

I hope the above solution helps you in solving your issue in importing the custom products in your Magento 2 store. If you find any difficulties in implementing the above-given solution then do contact our Support Team. If you find the article informative and knowledgeable then do share with your Magento colleagues. And do comment on your reviews in your comment section below. 

Happy Coding?

Previous Article

[Solved] Magento 2: Exception Printing is Disabled by Default for Security Reasons

Next Article

How to Configure Color Swatches in Magento 2

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Get Connect With Us

Subscribe to our email newsletter to get the latest posts delivered right to your email.
Pure inspiration, zero spam ✨