Magento 2 में एक नया उत्पाद प्रकार जोड़ने के लिए आपको अपने मॉड्यूल में एक etc / product_types.xml बनाने की आवश्यकता है। इस फ़ाइल में आप निर्दिष्ट करें:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../Catalog/etc/product_types.xsd">
<type name="demoproduct" label="Demo Product" modelInstance="Genmato\DemoProduct\Model\Product\Type\Demo" indexPriority="25" sortOrder="25">
<customAttributes>
<attribute name="refundable" value="true"/>
</customAttributes>
</type>
</config>
फिर मॉडल बनाएं
/**
* @category Genmato
* @package Genmato_MageStackProduct
* @copyright Copyright (c) 2015 Genmato BV (https://genmato.com)
*/
namespace Genmato\DemoProduct\Model\Product\Type;
class Demo extends \Magento\Catalog\Model\Product\Type\AbstractType
{
/**
* Delete data specific for Simple product type
*
* @param \Magento\Catalog\Model\Product $product
* @return void
*/
public function deleteTypeSpecificData(\Magento\Catalog\Model\Product $product)
{
}
}
यह नए उत्पाद प्रकार को जोड़ देगा और अब आप बैकेंड में एक नया उत्पाद बनाते समय इसका चयन कर सकते हैं।
Product_type.xml में अपने स्वयं के अनुक्रमणिका या मूल्य गणना विधि को निर्दिष्ट करना भी संभव है, अधिक उदाहरणों के लिए उत्पाद प्रकार बंडल, कॉन्फिगरप्रोडक्ट, डाउनलोड करने योग्य और समूहबद्ध उत्पाद के लिए कोड देखें।
पूर्ण डेमो उत्पाद विस्तार के लिए देखें: https://github.com/Genmato/DemoProduct
संपादित करें:
जैसा कि एंटोन ने नए उत्पाद प्रकार के लिए थोड़ा अतिरिक्त कार्यक्षमता का अनुरोध किया है (यदि मेरे पास इस सप्ताह थोड़ा अधिक समय है तो मैं कुछ अतिरिक्त संशोधनों पर प्रयास करूंगा)।
अभी के लिए मैंने लागत विशेषता के लिए एक मूल्य इनपुट क्षेत्र के साथ डेमो उत्पाद प्रकार को अद्यतन किया:
इस लागत विशेषता का उपयोग मूल्य की गणना करने के लिए किया जाता है जब इसे दृश्यपटल में प्रदर्शित किया जाता है (मूल्य विशेषता उपलब्ध नहीं है और इसका उपयोग नहीं किया जाता है)। इस उदाहरण के लिए मैंने लागत का उपयोग किया था 1.25 (जेनमैटो \ डेमोप्रोडक्ट \ मॉडल \ उत्पाद \ टाइप \ डेमो \ कीमत में):
सीमांत पर परिणाम:
पूर्ण अद्यतन कोड: https://github.com/Genmato/DemoProduct पर उपलब्ध है