Commenti disabilitati su Magento: Problema nel salvataggio dei metodi di pagamento nella configurazione del backoffice

L’altro giorno non capivo perchè nella pagina dei metodi di pagamento della configurazione di magento, non funzionasse il salvataggio. In pratica quando cliccavo su “Salva Config” non succedeva niente ed il browser non caricava. Mi era venuto il dubbio che fosse il mio browser ed effettivamente ho scoperto che è un bug di Chrome.

Per risolverlo basta semplicemente modificare il file \app\design\adminhtml\default\default\template\system\config\edit.phtml aggiungendo l’attributo name=”configForm” nella form circa alla linea 47.

Rimanendo in tema di bug dei browser (o di codice scritto male :D), oggi mi è capitato di risolvere un problema che riguarda Firefox 20.0 e l’inserimento di immagini attraverso l’editor di Magento.

L’errore che la console genera  quando si cerca di inserire un’immagine è questo:

 opener is null in browser.js

La soluzione è molto semplice e dovuta al conflitto tra variabili.

1. apri il file /js/mage/adminhtml/browser.js 
2. trova la funzione getTargetElement alla linea 228: 

getTargetElement: function() {
if (typeof(tinyMCE) != ‘undefined’ && tinyMCE.get(this.targetElementId)) {
if ((opener = this.getMediaBrowserOpener())) {
var targetElementId = tinyMceEditors.get(this.targetElementId).getMediaBrowserTargetElementId();
return opener.document.getElementById(targetElementId);
} else {
return null;
}
} else {
return document.getElementById(this.targetElementId);
}
} 

3. cambia il nome della variabile opener, ad esempio opener2….facile no?!

getTargetElement: function() {
if (typeof(tinyMCE) != ‘undefined’ && tinyMCE.get(this.targetElementId)) {
if ((opener2 = this.getMediaBrowserOpener())) {
var targetElementId = tinyMceEditors.get(this.targetElementId).getMediaBrowserTargetElementId();
return opener2.document.getElementById(targetElementId);
} else {
return null;
}
} else {
return document.getElementById(this.targetElementId);
}
}

Comments are closed.