Dec 11

CkEditor 4.0.1.1 For Typecho 0.8 编辑器插件不能插入图片的原因 不指定

admin , 00:21 , 代码收藏 » typecho , 评论(0) , 引用(0) , 阅读(1761) , Via 本站原创 | |
搜索
我已经获得阿里云幸运券,准备分享给您。请点击获取  
CkEditor 4.0.1.1 For Typecho 0.8 编辑器插件不能插入图片的原因

typecho 的插件CKEditor 4.0.1.1 For Typecho 0.8 的确定是不能插入图片,
默认的typecho 编辑器KEditor是可以插入图片的。
通过查看后台管理在插入的动作的调用代码。

insertImageToEditor('jiandanjie.com_30_108.png', 'http://jiandanjie.com/news/usr/uploads/2013/12/3760245610.png', 'http://jiandanjie.com/news/attachment/78/', 78);

在后台的代码:
<span class="insert" onclick="<?php if ($attachment->attachment->isImage){
echo "insertImageToEditor('{$attachment->title}', '{$attachment->attachment->url}', '{$attachment->permalink}', {$attachment->cid});";
} else {
echo "insertLinkToEditor('{$attachment->title}', '{$attachment->attachment->url}', '{$attachment->permalink}', {$attachment->cid});";
} ?>"><?php _e('插入'); ?></span>

进行排查,
原来是,插件KEditor 的配置文件Plugin.php 中有配置如下调用KEditor的方法,
function insertHtml(id, html) {
KE.util.focus(id);
KE.util.selection(id);
KE.util.insertHtml(id, html);
}
/** 附件插入实现 */
var insertImageToEditor = function (title, url, link) {
insertHtml('text', '<a xhref=\"' + link + '\" title=\"' + title + '\"><img xsrc=\"' + url + '\" alt=\"' + title + '\" /></a>');
};

var insertLinkToEditor = function (title, url, link) {
insertHtml('text', '<a xhref=\"' + url + '\" title=\"' + title + '\">' + title + '</a>');
};


但是目前的CKEditor 4.0.1.1 For Typecho 0.8 没有实现导致的,
解决办法当然是添加咯。。
不行的话,修改<?php _e('插入'); echo" {$attachment->attachment->url}" ?>
然后复制黏贴哈

或者添加方法如下:
把CkEditor/Plugin.php下的第84行的
 <script type=\"text/javascript\">CKEDITOR.replace( 'text', {fullPage: false});</script>";
替换为如下语句即可:

<script type=\"text/javascript\">CKEDITOR.replace('text');   
  
      var insertImageToEditor = function (title, url, link) {
    if ( CKEDITOR.instances.text.mode == 'wysiwyg' ) {
    CKEDITOR.instances.text.insertHtml('<a href=\"' + link + '\" title=\"' + title + '\"><img src=\"' + url + '\" alt=\"' + title + '\" /></a>') ;
    }
    else
    {
     alert('请先转换到所见即所得模式') ;
    }
   };
   
   var insertLinkToEditor = function (title, url, link) {
    if ( CKEDITOR.instances.text.mode == 'wysiwyg' ) {
    CKEDITOR.instances.text.insertHtml('<a href=\"' + url + '\" title=\"' + title + '\">' + title + '</a>') ;
    }
    else
    {
     alert('请先转换到所见即所得模式') ;
    }
   };   
  
  </script> ";

Tags: