Sobrescribir js core function magento 2

9

Estoy tratando de sobrescribir alguna función del Magento_Swatches/js/SwatchRenderer.jsarchivo

Mi código es para requirejs-config.js:

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

Y código para archivo 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);
};});

¿Para qué debo usar targeten este caso? Gracias.

usuario40166
fuente
cuál js desea sobrescribir SwatchRenderer.js esto no existe en magento 2
Deexit Sanghani
¿Tienes alguna solución?
Dhaduk Mitesh

Respuestas:

1

Paso 1: Cree un archivo de configuración RequireJS requirejs-config.js

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

Donde se usa la siguiente notación: el nombre del componente predeterminado que reemplaza

: el nombre del componente personalizado

Ejemplo, si desea utilizar la secuencia de comandos personalizada navigation-menu.js en lugar de los widgets de menú predeterminados, su requirejs-config.js debe contener lo siguiente:

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

Cómo anular Magento JS Core en Magento 2 / Configurar recursos de JavaScript / Cómo anular Magento JS Core en Magento 2 SharesFacebookLinkedInTwitterStumbleUponGoogle + SumoMe 7 de noviembre de 2016 Actualizado: 7 de noviembre de 20161 Mod. Magento JS Core en Magento de 2 a 2 pasos:

Hola a todos. A veces, desea cambiar el núcleo de Magento JS. Pero no puede cambiar directamente en el código fuente de Magento. Por lo tanto, debe anular el Magento JS. En este blog, le mostraré cómo anular el núcleo de Magento JS y reemplazarlo por su Javascript personalizado.

Paso 1: Cree un archivo de configuración RequireJS requirejs-config.js

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

Donde se usa la siguiente notación: el nombre del componente predeterminado que reemplaza

: el nombre del componente personalizado

Ejemplo, si desea utilizar la secuencia de comandos personalizada navigation-menu.js en lugar de los widgets de menú predeterminados, su requirejs-config.js debe contener lo siguiente:

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

Paso 2: coloque el archivo requirejs-config.js en uno de los siguientes directorios (depende de la ubicación de su script personalizado):

Sus archivos de tema: los archivos de vista de su módulo: / view / frontend Los 2 pasos que menciono anteriormente son el proceso más corto para que usted anule Magento JS Core en Magento 2. Con esta guía, puede administrar el Magento JS Core en Magento 2 fácilmente. Cada tienda tiene un Magento JS Core en Magento 2 con muchos atributos.

MehulKanjariya
fuente
0

Su código para "requirejs-config.js" debería ser este:

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

Kajal
fuente