2014-10-11 130 views
0

我最近升级的Magento CE 1.8〜1.9Magento的WYSIWYG编辑器输入丢失

当编辑CMS页面上,如果我粘贴任何数据并保存,当我回去和编辑页面,我粘贴的文本有消失了。通过禁用Magento所见即所得的编辑器,这看起来很好,但是当然,我只能输入原始HTML。

这似乎只发生升级到1.9以来。我不知道为什么会发生这种情况。

回答

0

从MS Word复制内容到Redage所见即所得扩展为Magento 1.9 CE时,我遇到了同样的问题。

我做了一个非常简单/丑陋的修复,它似乎工作一种享受。我已经重写了StripTags周围line 1282功能在redactor.js文件中:/skin/adminhtml/default/default/mgt_amazing_wysiwyg/js/redactor

这是我重写了功能:

// REMOVE TAGS 
stripTags: function(html) 
{ 

    // Redactor WYSIWYG editor refusing to accept pasted content from MS Word 
    // By Kingsley Raspe 
    // See: https://gist.github.com/kingsloi/97260c320bf22e5b96c7 
    var allowedObj = this.opts.allowedTags; 
    var allowed = ''; 

    //convert allowedTags to string in <b><i><h1> format 
    for (var p in allowedObj) { 
     if (allowedObj.hasOwnProperty(p)) { 
     allowed += '<' + allowedObj[p] + '>'; 
     } 
    } 

    //search and destroy 
    allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join(''); 
    var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi, 
    commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi; 
    return html.replace(commentsAndPhpTags, '').replace(tags, function($0, $1){ 
     return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''; 
    }); 

}, 

有点晚了,我知道,但我希望它能帮助!

0

您可以从 “命名”

// entity_encoding : 'named' 
entity_encoding : 'raw' 
编辑线101 /magento/js/tiny_mce/classes/Editor.js