原创

为UEditor for typecho 添加阅读更多按钮

使用百度UEditor for TypeCho有一段时间了,一直对这个编辑器缺少的一个功能耿耿于怀,就是More按钮

这个按钮就是类似在wordpress中,点击后会自动添加 标签,这样可以省了我去敲这个标签(懒)。

具体做法如下:

新建文件:moreBtn.js文件

文件内容如下:

UE.registerUI('阅读更多',function(editor,uiName){
    //注册按钮执行时的command命令,使用命令默认就会带有回退操作
    editor.registerCommand(uiName,{
        execCommand:function(){
            alert('execCommand:' + uiName)
        }
    });

    //创建一个button
    var btn = new UE.ui.Button({
        //按钮的名字
        name:uiName,
        //提示
        title:uiName,
        //需要添加的额外样式,指定icon图标,这里默认使用一个重复的icon
        cssRules :'background-position: -460px -40px;',
        //点击时执行的命令
        onclick:function () {
            //这里可以不用执行命令,做你自己的操作也可
           //editor.execCommand(uiName);
		   editor.execCommand('inserthtml', '<!--more-->');
        }
    });

    //当点到编辑内容上时,按钮要做的状态反射
    editor.addListener('selectionchange', function () {
        var state = editor.queryCommandState(uiName);
        if (state == -1) {
            btn.setDisabled(true);
            btn.setChecked(false);
        } else {
            btn.setDisabled(false);
            btn.setChecked(state);
        }
    });

    //因为你是添加button,所以需要返回这个button
    return btn;
}/*index 指定添加到工具栏上的那个位置,默认时追加到最后,editorId 指定这个UI是那个编辑器实例上的,默认是页面上所有的编辑器都会添加这个按钮*/);

将该文件保存到:你的Typecho目录/usr/plugins/UEditor/ueditor下。

修改/usr/plugins/UEditor下的:Plugin.php文件。

具体为,在函数:render

$js = Typecho_Common::url('UEditor/ueditor/ueditor.all.min.js', $options->pluginUrl);

下面添加:

$moreBtn = Typecho_Common::url('UEditor/ueditor/moreBtn.js',$options->pluginUrl);

echo '<script type="text/javascript" src="'. $configJs. '"></script><script type="text/javascript" src="'. $js. '"></script>';

后面添加

echo '<script type="text/javascript" src="'. $moreBtn. '"></script>';

刷新页面即可。

按钮会自动添加在最后一个哟。

本文来自:为UEditor for typecho 添加阅读更多按钮-小码农,转载请保留本条链接,感谢!

温馨提示:
本文最后更新于 2021年01月26日,已超过 1,407 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
正文到此结束
该篇文章的评论功能已被站长关闭
本文目录