「カートに追加」のテキストを「」に変更して「これが欲しい」に変更しましたvendor\magento\module-catalog\view\frontend\templates\product\list.phtml
。
しかし、「これが欲しい」(つまり「カートに追加」)ボタンをクリックすると、製品がカートに追加され、再び「カートに追加」というテキストがボタンに表示されます。
製品はajax呼び出しを介して追加されると思います。そのため、ajax呼び出しの後に新しく追加されたテキストが表示されず、「カートに追加」テキストが表示されます。
私はこれを試しました:
カスタム拡張Ved_Mymoduleを作成しました。
拡張機能がアクティブであることを確認しました。
その後、次の手順を実行しました。
app / code / Ved / Mymodule / view / frontend / requirejs-config.js:
var config = {
map: {
'*': {
catalogAddToCart:'Ved_Mymodule/js/customCatalogAddToCart'
}
}
};
app / code / Ved / Mymodule / view / frontend / web / js / customCatalogAddToCart.js:
define([
'jquery',
'mage/translate',
'jquery/ui'
], function($, $t) {
"use strict";
$.widget('Ved_Mymodule.customCatalogAddToCart',$.mage.catalogAddToCart, {
//Override function
disableAddToCartButton: function(form) {
var addToCartButtonTextWhileAdding = this.options.addToCartButtonTextWhileAdding || $t('Adding...');
var addToCartButton = $(form).find(this.options.addToCartButtonSelector);
addToCartButton.addClass(this.options.addToCartButtonDisabledClass);
addToCartButton.find('span').text(addToCartButtonTextWhileAdding);
addToCartButton.attr('title', addToCartButtonTextWhileAdding);
console.log('Hello 1');
},
enableAddToCartButton: function(form) {
var addToCartButtonTextAdded = this.options.addToCartButtonTextAdded || $t('Added');
var self = this,
addToCartButton = $(form).find(this.options.addToCartButtonSelector);
addToCartButton.find('span').text(addToCartButtonTextAdded);
addToCartButton.attr('title', addToCartButtonTextAdded);
setTimeout(function() {
var addToCartButtonTextDefault = 'heya..'; //self.options.addToCartButtonTextDefault || $t('Add to Cart..');
addToCartButton.removeClass(self.options.addToCartButtonDisabledClass);
addToCartButton.find('span').text(addToCartButtonTextDefault);
addToCartButton.attr('title', addToCartButtonTextDefault);
}, 1000);
console.log('Hello 2');
}
});
return $.Ved_Mymodule.customCatalogAddToCart;
});
コンソールにダミーのメッセージを出力しようとしています。
この後:静的コンテンツの展開を実行しました。データのインデックスを再作成します。キャッシュがクリーニングおよびフラッシュされました。
しかし、変化は現れていません。
requirejs-config.js
場所の名前を変更して修正してくださいapp/code/Ved/Mymodule/view/frontend/requirejs-config.js
。