Frage

Vielleicht bin es nur ich, aber in Chrome Browser Inline übersetzt funktioniert nicht. Die roten Felder werden angezeigt und wenn ich die Maus bewege, wird das Buchsymbol angezeigt, aber wenn ich klicke, passiert nichts. Ich hatte das gleiche Problem auf verschiedenen Servern.

Anderer Browser wie Firefox und dh sind in Ordnung.

Gibt es dafür einen Fehler?

War es hilfreich?

Lösung

Ja, die Inline -Übersetzungsfunktion ist in Google Chrome unterbrochen. Als die Inline-Übersetzungsfunktion ursprünglich entwickelt wurde, nutzte Magento einen nicht standardmäßigen translate Attribut in DOM -Elementen zum Flecken von übersetzbarem Text.

Seitdem hat Google Chrome eine Funktion, bei der ein Standardwert standhielt translate Die Eigenschaft wird zu jedem in JavaScript verfügbaren DOM -Knoten hinzugefügt (über die Vereinfachung).

Dies stört wiederum den Prototypjs XPath -Code von Magento, der zur Implementierung der Übersetzungsfunktion verwendet wird. Insbesondere dies

if (!$(target).match('*[translate]')) {
    target = target.up('*[translate]');
}

Ich Lösung Ich habe mir ausgedacht vergangenes Jahr Es war, jeder Seite das folgende JavaScript -Stück hinzuzufügen, wenn Inline -Übersetzungen aktiv sind.

if(Object.__defineGetter__)
{
    var hasTranslateAttribute = function(){
        return $(this).hasAttribute("translate");
    };
    document.observe("dom:loaded", function() {
        $$('*').each(function(theElement){
             theElement.__defineGetter__("translate", hasTranslateAttribute);
        });
    });
}

Andere Tipps

Für Unternehmenskunden steht ein Magento Core Patch zur Verfügung (Supee-1373), das von uns und Arbeiten getestet wurde.

Es ersetzt im Grunde alle alle translate Eigenschaften von data-translate über den Code.

Die Lösung von Alan Storm Works. Damit es auf der gesamten Website funktioniert, fügen Sie einfach den Snippet auf /app/code/core/mage/core/model/translate/inline.php hinzu, direkt danach

<script type="text/javascript">
new TranslateInline('translate-inline-trig', '<?php echo $ajaxUrl ?>', '<?php
    echo Mage::getDesign()->getArea() ?>');

Das ist Zeile 278 in 1.7.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top