Sovrascrivi la funzione js core magento 2


9

Sto cercando di sovrascrivere alcune funzioni dal Magento_Swatches/js/SwatchRenderer.jsfile

Il mio codice è per requirejs-config.js:

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

E codice per file 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);
};});

Cosa dovrei usare targetin questo caso? Grazie.


quale js vuoi sovrascrivere SwatchRenderer.js questo non esiste in magento 2
Deexit Sanghani

Hai qualche soluzione?
Dhaduk Mitesh,

Risposte:


1

Passaggio 1: creare un file di configurazione di RequireJS requestjs-config.js

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

Dove viene utilizzata la seguente notazione:: il nome del componente predefinito che si sostituisce

: il nome del componente personalizzato

Esempio, se si desidera utilizzare lo script di navigazione-menu.js personalizzato anziché i widget di menu predefiniti, il file requestjs-config.js dovrebbe contenere quanto segue:

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

Come eseguire l'override di Magento JS Core in Magento 2 / Configurare le risorse JavaScript / Come eseguire l'override di Magento JS Core in Magento 2 condivisioni Magento JS Core in Magento 2 attraverso 2 passaggi:

Ciao a tutti. A volte, vuoi cambiare il core di Magento JS. Ma non puoi cambiare direttamente nel codice sorgente di Magento. Quindi è necessario ignorare Magento JS. In questo blog, ti mostrerò come sovrascrivere il core Magento JS e sostituirlo con il tuo Javascript personalizzato.

Passaggio 1: creare un file di configurazione di RequireJS requestjs-config.js

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

Dove viene utilizzata la seguente notazione:: il nome del componente predefinito che si sostituisce

: il nome del componente personalizzato

Esempio, se si desidera utilizzare lo script di navigazione-menu.js personalizzato anziché i widget di menu predefiniti, il file requestjs-config.js dovrebbe contenere quanto segue:

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

Passaggio 2: posizionare il file requestjs-config.js in una delle seguenti directory (dipende dalla posizione dello script personalizzato):

I file dei temi: Il modulo visualizza i file: / view / frontend I 2 passaggi che menziono sopra sono il processo più breve per eseguire l'override di Magento JS Core in Magento 2. Con questa guida è possibile gestire facilmente Magento JS Core in Magento 2. Ogni negozio ha un Magento JS Core in Magento 2 con molti attributi.


0

Il tuo codice per "requirejs-config.js" dovrebbe essere questo:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.