jsコア関数magento 2を上書き


9

Magento_Swatches/js/SwatchRenderer.jsファイルから一部の関数を上書きしようとしています

私のコードはrequirejs-config.js

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

そしてファイルのコード 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);
};});

targetこの場合、何に使うべきですか?ありがとうございました。


SwatchRenderer.jsを上書きしたいjs これはmagento 2には存在しません
Deghit Sanghani '22

解決策はありますか?
Dhaduk Mitesh 2018年

回答:


1

ステップ1:RequireJS構成ファイルrequirejs-config.jsを作成する

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

次の表記法が使用されている場合::置き換えるデフォルトのコンポーネントの名前

:カスタムコンポーネントの名前

たとえば、デフォルトのメニューウィジェットの代わりにカスタムのnavigation-menu.jsスクリプトを使用する場合は、requirejs-config.jsに以下を含める必要があります。

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

Magento 2でMagento JSコアをオーバーライドする方法/ JavaScriptリソースを構成する/ Magento 2でMagento JSコアをオーバーライドする方法Magento 2から2の手順でのMagento JS Core:

みなさん、こんにちは。Magento JSコアを変更したい場合があります。ただし、Magentoのソースコードを直接変更することはできません。したがって、Magento JSをオーバーライドする必要があります。このブログでは、Magento JSコアをオーバーライドしてカスタムJavascriptで置き換える方法を紹介します。

ステップ1:RequireJS構成ファイルrequirejs-config.jsを作成する

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

次の表記法が使用されている場合::置き換えるデフォルトのコンポーネントの名前

:カスタムコンポーネントの名前

たとえば、デフォルトのメニューウィジェットの代わりにカスタムのnavigation-menu.jsスクリプトを使用する場合は、requirejs-config.jsに以下を含める必要があります。

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

ステップ2:requirejs-config.jsファイルを次のいずれかのディレクトリに配置します(カスタムスクリプトの場所によって異なります)。

テーマファイル:モジュールビューファイル:/ view / frontend上記の2つのステップは、Magento 2でMagento JS Coreをオーバーライドする最も短いプロセスです。このガイドを使用すると、Magento 2でMagento JS Coreを簡単に管理できます。すべてのストアには、Magento 2に多くの属性を持つMagento JS Coreがあります。


0

「requirejs-config.js」のコードは次のようになります。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.