TYPECHO WIKI
每一个作品都值得被记录

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

Typecho维基君Typecho教程 • 952次浏览 • 发布 2023-03-27 • 更新 2023-03-27

使用百度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所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »