Écraser la fonction de base js magento 2

9

J'essaie d'écraser une fonction du Magento_Swatches/js/SwatchRenderer.jsfichier

Mon code est pour requirejs-config.js:

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

Et le code pour le fichier 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);
};});

Que dois-je utiliser targetdans ce cas? Je vous remercie.

user40166
la source
quels js vous voulez remplacer SwatchRenderer.js ce n'est pas le cas dans magento 2
Deexit Sanghani
Avez-vous une solution?
Dhaduk Mitesh

Réponses:

1

Étape 1: créer un fichier de configuration RequireJS requirejs-config.js

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

Lorsque la notation suivante est utilisée:: le nom du composant par défaut que vous remplacez

: le nom du composant personnalisé

Par exemple, si vous souhaitez utiliser un script de navigation-menu.js personnalisé au lieu des widgets de menu par défaut, votre requirejs-config.js doit contenir les éléments suivants:

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

Comment remplacer Magento JS Core dans Magento 2 / Configurer les ressources JavaScript / Comment remplacer Magento JS Core dans les partages Magento 2 Magento JS Core dans Magento 2 en 2 étapes:

Bonjour à tous. Parfois, vous souhaitez modifier le noyau Magento JS. Mais vous ne pouvez pas changer directement dans le code source de Magento. Vous devez donc remplacer le Magento JS. Dans ce blog, je vais vous montrer comment remplacer le noyau Magento JS et le remplacer par votre Javascript personnalisé.

Étape 1: créer un fichier de configuration RequireJS requirejs-config.js

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

Lorsque la notation suivante est utilisée:: le nom du composant par défaut que vous remplacez

: le nom du composant personnalisé

Par exemple, si vous souhaitez utiliser un script de navigation-menu.js personnalisé au lieu des widgets de menu par défaut, votre requirejs-config.js doit contenir les éléments suivants:

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

Étape 2: placez votre fichier requirejs-config.js dans l'un des répertoires suivants (cela dépend de l'emplacement de votre script personnalisé):

Vos fichiers de thème: Vos fichiers de vue de module: / view / frontend Les 2 étapes que je mentionne ci-dessus est le processus le plus court pour vous de remplacer Magento JS Core dans Magento 2. Avec ce guide, vous pouvez gérer facilement le Magento JS Core dans Magento 2. Chaque magasin possède un Magento JS Core dans Magento 2 avec de nombreux attributs.

MehulKanjariya
la source
0

Votre code pour "requirejs-config.js" devrait être le suivant:

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

Kajal
la source