也许只是我,但是在Chrome浏览器中,翻译不起作用。显示了红色框,如果我将鼠标悬停在鼠标上,则书籍图标出现,但是如果我单击它,则什么也不会发生。我在不同的服务器上也有同样的问题。

像Firefox和IE这样的其他浏览器都很好。

有这个错误吗?

有帮助吗?

解决方案

是的,在Google Chrome中,内联翻译功能破坏了。回到最初开发内联翻译功能时,Magento使用了非标准 translate DOM元素中的属性属于标志可翻译的文本。

从那以后,Google Chrome具有默认值的功能 translate 将属性添加到JavaScript中可用的每个DOM节点(超过简化)中。

反过来,这与Magento的Prototypejs XPath代码进行了交流,用于实现翻译功能。具体来说,这

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

我解决了我想到的 去年 当内联翻译处于活动状态时,将以下JavaScript添加到每个页面。

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

其他提示

对于企业客户,有一个可用的Magento Core补丁(Supee-1373),由我们和工作进行了测试。

它基本上取代了所有 translate 属性 data-translate 跨代码。

Alan Storm提供的解决方案作品。为了使其在整个网站上工作,只需将片段添加到/app/code/core/mage/core/model/translate/inline.php,之后

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

那是1.7中的第278行。

许可以下: CC-BY-SA归因
scroll top