Substituir js core function magento 2

9

Estou tentando substituir alguma função do Magento_Swatches/js/SwatchRenderer.jsarquivo

Meu código é para requirejs-config.js:

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

E código para arquivo 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);
};});

O que devo usar targetneste caso? Obrigado.

user40166
fonte
que js você deseja substituir SwatchRenderer.js isso não é existir em magento 2
Deexit Sanghani
Você tem alguma solução?
Dhaduk Mitesh

Respostas:

1

Etapa 1: Crie um arquivo de configuração RequireJS requirejs-config.js

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

Onde a seguinte notação é usada:: o nome do componente padrão que você substitui

: o nome do componente customizado

Por exemplo, se você deseja usar o script navigation-menu.js personalizado em vez dos widgets de menu padrão, seu requirejs-config.js deve conter o seguinte:

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

Como substituir o Magento JS Core no Magento 2 / Configurar recursos JavaScript / Como substituir o Magento JS Core no Magento 2 SharesFacebookLinkedInTwitterStumbleUponGoogle + SumoMe 7 de novembro de 2016 Atualizado em: 7 de novembro de 2016 Magento JS Core no Magento 2 a 2 etapas:

Olá a todos. Às vezes, você deseja alterar o núcleo do Magento JS. Mas você não pode mudar diretamente no código fonte do Magento. Portanto, você deve substituir o Magento JS. Neste blog, mostrarei como substituir o núcleo do Magento JS e substituí-lo pelo seu Javascript personalizado.

Etapa 1: Crie um arquivo de configuração RequireJS requirejs-config.js

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

Onde a seguinte notação é usada:: o nome do componente padrão que você substitui

: o nome do componente customizado

Por exemplo, se você deseja usar o script navigation-menu.js personalizado em vez dos widgets de menu padrão, seu requirejs-config.js deve conter o seguinte:

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",
    }
  }
};

Etapa 2: Coloque seu arquivo requirejs-config.js em um dos seguintes diretórios (depende do local do seu script personalizado):

Seus arquivos de tema: Seu módulo exibe arquivos: / view / frontend As 2 etapas mencionadas acima são o processo mais curto para você substituir o Magento JS Core no Magento 2. Com este guia, você pode gerenciar o Magento JS Core no Magento 2 com facilidade. Toda loja possui um Magento JS Core no Magento 2 com muitos atributos.

MehulKanjariya
fonte
0

Seu código para "requirejs-config.js" deve ser este:

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

Kajal
fonte