Я змінив текст "Додати в кошик" на "Я хочу це" шляхом зміни " vendor\magento\module-catalog\view\frontend\templates\product\list.phtml
".
Але коли я натискаю кнопку "Я хочу це" (тобто "Додати в кошик"), продукт додається у кошик, а потім знову з'являється текст "Додати в кошик".
Я думаю, що продукт додається через дзвінок ajax, тому недавно доданий текст не відображається після виклику Ajax, а текст "Додати в кошик".
Я спробував це:
Я створив спеціальне розширення Ved_Mymodule .
Я перевірив, що розширення активне.
Після цього я виконував наступні кроки:
app / code / Ved / Mymodule / view / frontend / Requjs-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
.