Zmieniłem tekst „Dodaj do koszyka” na „Chcę to”, zastępując „ vendor\magento\module-catalog\view\frontend\templates\product\list.phtml
”.
Ale kiedy kliknę przycisk „Chcę to” (tzn. „Dodaj do koszyka”), produkt zostanie dodany do koszyka, a następnie ponownie przycisk „Dodaj do koszyka” pojawi się na przycisku.
Myślę, że produkt jest dodawany poprzez wywołanie ajax, dlatego nowo dodany tekst nie wyświetla się po wywołaniu ajax i wyświetla się tekst „Dodaj do koszyka”.
Próbowałem tego:
Utworzyłem niestandardowe rozszerzenie Ved_Mymodule .
Sprawdziłem, czy rozszerzenie jest aktywne.
Następnie wykonałem następujące kroki:
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;
});
Próbuję wydrukować fałszywe wiadomości w konsoli.
Następnie: uruchomiłem wdrażanie zawartości statycznej. Ponownie indeksuj dane. Pamięć podręczna wyczyszczona i opróżniona.
Ale zmiany się nie pojawiają.
requirejs-config.js
i popraw lokalizacjęapp/code/Ved/Mymodule/view/frontend/requirejs-config.js
.