Magento WYSIWYG编辑失去了输入

时间:2014-10-11 19:51:25

标签: magento wysiwyg

我最近将Magento CE从1.8升级到1.9

编辑CMS页面时,如果我粘贴任何数据并保存,当我返回并编辑该页面时,我的粘贴文本已消失。通过禁用Magento WYSIWYG编辑器,它看起来很好,但当然,我只能输入原始HTML。

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

2 个答案:

答案 0 :(得分:0)

将内容从MS Word复制到Magento 1.9 CE的Redactor WYSIWYG扩展时遇到了同样的问题。

我做了一个非常简单/丑陋的修复,它似乎是一种享受。我在line 1282

中的redactor.js文件中重写了/skin/adminhtml/default/default/mgt_amazing_wysiwyg/js/redactor周围的StripTags函数

这是我的重写功能:

// 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 : '';
    });

},

我知道有点迟了,但我希望它有所帮助!

答案 1 :(得分:0)

您可以在“命名”中修改第101行中的/magento/js/tiny_mce/classes/Editor.js

// entity_encoding : 'named'
entity_encoding : 'raw'