Ho modificato il testo "Aggiungi al carrello" in "Voglio questo" sostituendo " vendor\magento\module-catalog\view\frontend\templates\product\list.phtml
".
Ma quando faccio clic sul pulsante "Lo voglio" (ovvero "Aggiungi al carrello"), il prodotto viene aggiunto al carrello e quindi di nuovo il testo "Aggiungi al carrello" appare sul pulsante.
Penso che il prodotto venga aggiunto tramite una chiamata Ajax, ecco perché un testo appena aggiunto non viene visualizzato dopo la chiamata Ajax e viene visualizzato il testo "Aggiungi al carrello".
Ho provato questo:
Ho creato un'estensione personalizzata Ved_Mymodule .
Ho verificato che l'estensione è attiva.
Successivamente ho seguito questi passaggi:
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;
});
Sto cercando di stampare messaggi fittizi nella console.
Dopo questo: ho eseguito la distribuzione di contenuti statici. Reindicizza i dati. Cache pulita e lavata.
Ma i cambiamenti non stanno comparendo.
requirejs-config.js
e correggere la posizioneapp/code/Ved/Mymodule/view/frontend/requirejs-config.js
.