Menimpa js core function magento 2

9

Saya mencoba untuk menimpa beberapa fungsi dari Magento_Swatches/js/SwatchRenderer.jsfile

Kode saya untuk requirejs-config.js:

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

Dan kode untuk 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);
};});

Apa yang harus saya gunakan untuk targetkasus ini? Terima kasih.

pengguna40166
sumber
js yang ingin Anda Timpa SwatchRenderer.js ini tidak ada di
magento
Apakah Anda punya solusi?
Dhaduk Mitesh

Jawaban:

1

Langkah 1: Buat file konfigurasi RequireJS Requirejs-config.js

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

Di mana notasi berikut digunakan:: nama komponen default yang Anda ganti

: nama komponen khusus

Contoh, jika Anda ingin menggunakan skrip navigasi-menu.js khusus alih-alih widget menu default, requireejs-config.js Anda harus berisi yang berikut ini:

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

Cara Menggantikan Magento JS Core di Magento 2 / Mengkonfigurasi Sumber Daya JavaScript / Cara Menggantikan Magento JS Core di Magento 2 MembagikanFacebookTautkanIntwitterStumbleUponGoogle + SumoMe 7 November 2016 Diperbarui: 7 November 20161 Mod Mengkonfigurasi Sumber Daya JavaScript Dalam topik ini kami akan menunjukkan kepada Anda Bagaimana Menggantikan Magento JS Core di Magento 2 hingga 2 langkah:

Halo semuanya. Terkadang, Anda ingin mengubah inti Magento JS. Tetapi Anda tidak dapat mengubah secara langsung dalam kode sumber Magento. Jadi, Anda harus mengganti Magento JS. Di blog ini, saya akan menunjukkan kepada Anda cara mengganti inti Magento JS dan menggantinya dengan Javascript khusus Anda.

Langkah 1: Buat file konfigurasi RequireJS Requirejs-config.js

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

Di mana notasi berikut digunakan:: nama komponen default yang Anda ganti

: nama komponen khusus

Contoh, jika Anda ingin menggunakan skrip navigasi-menu.js khusus alih-alih widget menu default, requireejs-config.js Anda harus berisi yang berikut ini:

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

Langkah 2: Tempatkan file requirejs-config.js Anda di salah satu direktori berikut (tergantung pada lokasi skrip khusus Anda):

File tema Anda: File tampilan modul Anda: / view / frontend 2 langkah yang saya sebutkan di atas adalah proses terpendek bagi Anda untuk Mengganti Magento JS Core di Magento 2. Dengan panduan ini, Anda dapat mengelola Magento JS Core di Magento 2 dengan mudah. Setiap toko memiliki Magento JS Core di Magento 2 dengan banyak atribut.

MehulKanjariya
sumber
0

Kode Anda untuk "requireejs-config.js" harus berupa ini:

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

Kajal
sumber