Magento 2 में एक नया उत्पाद प्रकार कैसे जोड़ें? (MageStackDay रहस्य प्रश्न 1)


40

मैजस्टैकडाय बोनस बोनस 500 बाउंस के लिए और एक साल के लिए मुफ्त जेड-रे लाइसेंस जीतने की संभावना। अधिक जानकारी यहाँ पाई जा सकती है >> <<

मैगेंटो 2 के कोर डेवलपर एंटोन क्रिल द्वारा प्रश्न प्रदान किए गए हैं।

सवाल:

मैं Magento के लिए एक नया उत्पाद प्रकार जोड़ना चाहता हूं। मैं Magento 2 देव बीटा में ऐसा करने के बारे में कैसे जाना होगा

जवाबों:


40

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 पर उपलब्ध है


बस अपने जवाब के लिए एक ट्यूटोरियल जोड़ने, आशा है कि आप इनाम मिलता है! नए उत्पाद प्रकारों को बनाने पर एक पूर्ण ट्यूटोरियल है: vimeo.com/116810487 यहां का प्रलेखन देखें: devdocs.magento.com
JoeyH

4
यह बहुत अच्छा होगा यदि आप कम से कम कुछ अनुकूलन बिंदु (रेंडरिंग, मूल्य गणना, आदि) जोड़ते हैं
एंटोन क्रिल

1
@ एटन: मैंने लागत विशेषता के आधार पर एक साधारण मूल्य गणना के साथ डेमो उत्पाद प्रकार को अद्यतन किया। अगर मेरे पास अगले कुछ दिनों के लिए थोड़ा और समय है तो मैं कुछ अन्य संशोधनों को जोड़ने की कोशिश करूंगा।
व्लादिमीर केर्खॉफ

समूह उत्पाद के रूप में एक मिश्रित उत्पाद प्रकार बनाने के लिए इसे कैसे बढ़ाया जाए?
सुकेशिनी १०'१६ को
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.