How To

Magento 2: How To Import Products with Custom Product Type

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?

Click to rate this post!
[Total: 4 Average: 5]
Dhiren Vasoya

Dhiren Vasoya is a Director and Co-founder at MageComp, Passionate ?️ Certified Magento Developer?‍?. He has more than 9 years of experience in Magento Development and completed 850+ projects to solve the most important E-commerce challenges. He is fond❤️ of coding and if he is not busy developing then you can find him at the cricket ground, hitting boundaries.?

Recent Posts

How to Add Tooltip in Checkout Shipping Field in Magento 2?

Hello Magento Friends, In today’s blog, I will explain How to Add Tooltip in Checkout…

3 days ago

How to Integrate and Use MongoDB with Laravel?

MongoDB is a popular NoSQL database that offers flexibility and scalability when handling modern web…

4 days ago

NodeJS | Callback Function

In NodeJS, callbacks empower developers to execute asynchronous operations like reading files, handling requests, and…

5 days ago

How to Show SKU in Order Summary in Magento 2?

Hello Magento Friends, In today’s blog, we will learn How to Show SKU in Order…

7 days ago

Best Colors to Use for CTA Buttons

The "Buy Now" and "Add to Cart" buttons serve as the primary call-to-action (CTA) elements…

1 week ago

Magento 2: How to Save Custom Field Value to quote_address for Multi-Shipping Orders

Hello Magento Friends, In Magento 2, the checkout process allows customers to choose multiple shipping…

1 week ago