ओवरराइट जेएस कोर फ़ंक्शन मैजेंटो 2


9

मैं Magento_Swatches/js/SwatchRenderer.jsफ़ाइल से कुछ फ़ंक्शन को अधिलेखित करने की कोशिश कर रहा हूं

मेरा कोड इसके लिए है requirejs-config.js:

var config = {
    config: {
        mixins: {
            'Magento_Swatches/js/SwatchRenderer': {
                'Magento_Swatches/js/SwatchRendererCategory1': true
            }
        }
    }
};

और फाइल के लिए कोड SwatchRendererCategory1.js

define(function () {
'use strict';

var mixin = {
        updateBaseImage: function (images, context, isProductViewExist) {
            var justAnImage = images[0];

            if (isProductViewExist) {
                context
                    .find('[data-gallery-role=gallery-placeholder]')
                    .data('gallery')
                    .updateData(images);
            } else if (justAnImage && justAnImage.img) {
                context.find('.image-block').css("background-image", "url('"+justAnImage.img+"')");
            }
        }
};

return function (target) {
    return target.extend(mixin);
};});

targetइस मामले में मुझे क्या उपयोग करना चाहिए ? धन्यवाद।


जो आप स्वैचररेंडर को अधिलेखित करना चाहते हैं। क्या यह मैजेंटो 2 में मौजूद नहीं है
डेक्सिट संघानी

क्या आपको कोई समाधान मिला है?
धादुक मितेश

जवाबों:


1

चरण 1: एक आवश्यकताJJS विन्यास फाइल की आवश्यकता Createjs-config.js

var config = {
  "map": {
    "*": {
      "<default_component>": "<custom_component>"
    }
  }
};

जहां निम्नलिखित संकेतन का उपयोग किया जाता है:: आपके द्वारा प्रतिस्थापित डिफ़ॉल्ट घटक का नाम

: कस्टम घटक का नाम

उदाहरण के लिए, यदि आप डिफ़ॉल्ट मेनू विजेट के बजाय कस्टम नेविगेशन- menu.js स्क्रिप्ट का उपयोग करना चाहते हैं, तो आपके आवश्यकता-config.js में निम्नलिखित शामिल होने चाहिए:

var config = {
  "map": {
    "*": {
      "menu": "/js/navigation-menu",
      "mage/backend/menu": "js/navigation-menu",
    }
  }
};

Magento 2 में Magento JS Core को कैसे ओवरराइड करें 2 चरणों के माध्यम से Magento 2 में Magento JS Core:

सभी को नमस्कार। कभी-कभी, आप Magento JS Core को बदलना चाहते हैं। लेकिन आप सीधे Magento के सोर्स कोड में नहीं बदल सकते। इसलिए आपको Magento JS को ओवरराइड करना चाहिए। इस ब्लॉग में, मैं आपको दिखाऊंगा कि कैसे Magento JS Core को ओवरराइड किया जा सकता है और इसे आपके कस्टम जावास्क्रिप्ट द्वारा प्रतिस्थापित किया जा सकता है।

चरण 1: एक आवश्यकताJJS विन्यास फाइल की आवश्यकता Createjs-config.js

var config = {
  "map": {
    "*": {
      "<default_component>": "<custom_component>"
    }
  }
};
var config = {
  "map": {
    "*": {
      "<default_component>": "<custom_component>"
    }
  }
};

जहां निम्नलिखित संकेतन का उपयोग किया जाता है:: आपके द्वारा प्रतिस्थापित डिफ़ॉल्ट घटक का नाम

: कस्टम घटक का नाम

उदाहरण के लिए, यदि आप डिफ़ॉल्ट मेनू विजेट के बजाय कस्टम नेविगेशन- menu.js स्क्रिप्ट का उपयोग करना चाहते हैं, तो आपके आवश्यकता-config.js में निम्नलिखित शामिल होने चाहिए:

var config = {
  "map": {
    "*": {
      "menu": "/js/navigation-menu",
      "mage/backend/menu": "js/navigation-menu",
    }
  }
};
var config = {
  "map": {
    "*": {
      "menu": "/js/navigation-menu",
      "mage/backend/menu": "js/navigation-menu",
    }
  }
};

चरण 2: अपनी जरूरीjj-config.js फ़ाइल को निम्न निर्देशिकाओं में से एक में रखें (यह आपकी कस्टम स्क्रिप्ट के स्थान पर निर्भर करता है):

आपकी थीम फाइलें: आपकी मॉड्यूल दृश्य फाइलें: / दृश्य / दृश्यपटल 2 चरण जिनका मैं ऊपर उल्लेख करता हूं, आपके लिए Magento JS Core को ओवरराइड करने की सबसे छोटी प्रक्रिया है। इस गाइड के साथ, आप Magento 2 में Magento JS Core को आसानी से प्रबंधित कर सकते हैं। हर दुकान में Magento 2 में कई विशेषताओं के साथ एक Magento JS Core है।


0

आपका कोड "requjs-config.js" के लिए यह होना चाहिए:

var config = {map: {'*': {"Magento_Swatches / js / SwatchRenderer": 'Magento_Swatches / js / SwatchRendererCategory1',}}};

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.