为 UEditor for Typecho 添加阅读更多按钮
使用百度UEditor for Typecho有一段时间了,一直对这个编辑器缺少的一个功能耿耿于怀,就是More按钮。
tips:UEditor这个插件有些老,属于上古插件了,不建议大家继续使用,建议提前转markdown,告别html富文本编辑器。
这个按钮就是类似在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>';
刷新页面即可。
按钮会自动添加在最后一个哟。
转载自:https://www.djc8.cn/archives/add-more-buttons-to-for-typecho-ueditor.html
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。