我已通过覆盖“ vendor\magento\module-catalog\view\frontend\templates\product\list.phtml
” 将“添加到购物车”文本更改为“我想要这个”。
但是,当我单击“我想要这个”(即“添加到购物车”)按钮时,该产品即被添加到购物车,然后按钮上再次出现“添加到购物车”文本。
我认为产品是通过ajax调用添加的,这就是为什么在ajax调用后未显示新添加的文本并且显示“添加到购物车”文本的原因。
我已经试过了
我创建了一个自定义扩展Ved_Mymodule。
我已检查该扩展程序是否处于活动状态。
之后,我按照以下步骤操作:
应用程序/代码/Ved/Mymodule/view/frontend/requirejs-config.js:
var config = {
map: {
'*': {
catalogAddToCart:'Ved_Mymodule/js/customCatalogAddToCart'
}
}
};
应用/代码/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
。