JS 핵심 기능 마 젠토 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이 경우에 무엇을 사용해야 합니까? 감사합니다.


SwatchRenderer.js 를 덮어 쓰려 는 js 이것은 magento 2에 존재하지 않습니다
Deexit Sanghani

해결책이 있습니까?
Dhaduk Mitesh

답변:


1

1 단계 : RequireJS 구성 파일 requirejs-config.js 작성

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

다음 표기법이 사용되는 경우 : 대체하는 기본 구성 요소의 이름

: 사용자 컴포넌트의 이름

예를 들어, 기본 메뉴 위젯 대신 사용자 정의 navigation-menu.js 스크립트를 사용하려면 requirejs-config.js에 다음이 포함되어야합니다.

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

Magento 2에서 Magento JS Core를 재정의하는 방법 / JavaScript 리소스 구성 / Magento 2에서 Magento JS Core를 재정의하는 방법 SharesFacebookLinkedInTwitterStumbleUponGoogle + SumoMe 2016 년 11 월 7 일 업데이트 : 2016 년 11 월 7 일 Mod 수정 JavaScript 리소스 Magento 2 ~ 2 단계의 Magento JS Core :

여러분 안녕하세요. 때로는 Magento JS 코어를 변경하려고합니다. 그러나 Magento 소스 코드에서 직접 변경할 수는 없습니다. 따라서 Magento JS를 재정의해야합니다. 이 블로그에서는 Magento JS 코어를 재정의하고이를 사용자 지정 Javascript로 바꾸는 방법을 보여줍니다.

1 단계 : RequireJS 구성 파일 requirejs-config.js 작성

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

다음 표기법이 사용되는 경우 : 대체하는 기본 구성 요소의 이름

: 사용자 컴포넌트의 이름

예를 들어, 기본 메뉴 위젯 대신 사용자 정의 navigation-menu.js 스크립트를 사용하려면 requirejs-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 단계 : requirejs-config.js 파일을 다음 디렉토리 중 하나에 배치하십시오 (사용자 정의 스크립트의 위치에 따라 다름).

테마 파일 : 모듈보기 파일 : / view / frontend 위에서 언급 한 2 단계는 Magento 2에서 Magento JS Core를 재정의하는 가장 짧은 프로세스입니다.이 가이드를 사용하면 Magento 2에서 Magento JS Core를 쉽게 관리 할 수 ​​있습니다. 모든 상점에는 많은 속성을 가진 Magento 2의 Magento JS Core가 있습니다.


0

"requirejs-config.js"의 코드는 다음과 같아야합니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.