Inline tradurre Chrome Bug?
-
16-10-2019 - |
Domanda
Forse sono solo io, ma nel browser Chrome in linea tradurre non funziona. Le caselle rosse sono mostrate e se mi passa il mouse l'icona del libro appare, ma se lo scatto non succede nulla. Ho avuto lo stesso problema su diversi server.
Altri browser come Firefox e IE vanno bene.
C'è un bugfix per questo?
Soluzione
Sì, la funzione di traduzione in linea è rotto in Google Chrome. Indietro quando la funzione di traduzione in linea è stato originariamente sviluppato, Magento fatto uso di un attributo translate
non standard in elementi DOM a bandiera testo traducibile.
Da allora, Google Chrome ha una caratteristica in cui una proprietà predefinita translate
viene aggiunto a ogni nodo DOM disponibili in javascript (oltre semplificazione).
Questa, a sua volta, interferisce con PrototypeJS di Magento XPath codice utilizzato per implementare la funzione di traduzione. In particolare, questo
if (!$(target).match('*[translate]')) {
target = target.up('*[translate]');
}
soluzione che ho mi è venuta scorso anno è stato quello di aggiungere la seguente po 'di javascript per ogni pagina quando traduzioni in linea sono attivi.
if(Object.__defineGetter__)
{
var hasTranslateAttribute = function(){
return $(this).hasAttribute("translate");
};
document.observe("dom:loaded", function() {
$$('*').each(function(theElement){
theElement.__defineGetter__("translate", hasTranslateAttribute);
});
});
}
Altri suggerimenti
Per i clienti aziendali, c'è una patch nucleo Magento disponibili (SUPEE-1373) che è stato testato da noi e lavora.
Si sostituisce praticamente tutte le proprietà translate
dal data-translate
tutto il codice.
La soluzione fornita da Alan Tempesta funziona. Per farlo funzionare in tutto il sito, è sufficiente aggiungere il frammento di /app/code/core/Mage/Core/Model/Translate/Inline.php, subito dopo
<script type="text/javascript">
new TranslateInline('translate-inline-trig', '<?php echo $ajaxUrl ?>', '<?php
echo Mage::getDesign()->getArea() ?>');
Quello della linea 278 in 1.7.