apache集成php7.3.5的详细步骤-自学php网
windows 2008r2+php5.6.28环境搭建详细过程-自学php网
PHP 代码简洁之道(小结)-自学php网
php设计模式之单例模式用法经典示例分析-自学php网
redis+php实现微博(三)微博列表功能详解-自学php网
redis+php实现微博(一)注册与登录功能详解-自学php网
redis+php实现微博(二)发布与关注功能详解-自学php网
php设计模式之工厂模式用法经典实例分析-自学php网
php文件包含的几种方式总结-自学php网
smarty模板的使用方法实例分析-自学php网
PHP MVC框架中类的自动加载机制实例分析-自学php网
php+redis实现消息队列功能示例详解-自学php网
php写入txt乱码的解决方法-自学php网
php写入mysql中文乱码的实例解决方法-自学php网
php校验公钥是否可用的实例方法-自学php网
PHP实现的文件浏览器功能简单示例-自学php网
php创建多级目录与级联删除文件的方法示例-自学php网
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码详解-自学php网
分析PHP7 的垃圾回机制详解-自学php网
PHP实现跨服务器session共享的方法教程-自学php网
ADS

将kindeditor在线编辑器制作成smarty插件

来源:      时间: 2020-03-12 11:58:32     阅读数:3245 次     作者:来自网络

摘要: 将kindeditor在线编辑器制作成smarty插件 ...


300-250

在web开发中,在线编辑器是经常要用到的功能模块,虽说配置在线编辑器没有多大难度,但是每一次编写重复的代码,总是让人感觉不爽。

本篇,就来讲解一下,如何将kindeditor制作成smarty的一个自定义函数。

为什么要制作成自定义函数呢?当然是为了避免写很多重复的代码。

{html_kindeditor name="kindcontent"}

假如在模板中调用一个smarty标签,就能生成一个文本编辑器(如上),那开发起来会不会感觉很过瘾呢?

好了,说下流程(本文以集成了smarty模板的ci框架为例)。

首先,将下载好的kindeditor解压后放在项目根目录。

然后在smarty的plugins目录新建一个文件function.html_kindeditor.php

复制代码
<?php /**
 * kindeditor 在线编辑器
 * @author rick <shaoyikai@qq.com>
 *
 * 使用举例:
 * {html_kindeditor name="kindcontent" width="700" height="250" theame="simple" lang="en" items="simple"} */ function smarty_function_html_kindeditor($params)
{ $params['height'] = empty($params['height']) ? 300: $params['height']; $params['theame'] = empty($params['theame']) ? 'default': $params['theame']; $params['name'] = empty($params['name']) ? 'content': $params['name']; $params['lang'] = empty($params['lang']) ? 'zh_CN': $params['lang']; //可选择的语言zh_CN,zh_TW,en,ko,ar $params['items'] = empty($params['items']) ? 'default': $params['items']; if($params['items'] === 'simple') 
    { $params['width'] = empty($params['width']) ? 480: $params['width']; $items = '["source","preview","code","|","cut","copy","paste","|","justifyleft","justifycenter","justifyright",
        "justifyfull","|","insertorderedlist","insertunorderedlist","indent","outdent","|","subscript",
        "superscript","clearhtml","fullscreen","/",
        "formatblock","fontname","fontsize","|","forecolor","hilitecolor","bold",
        "italic","underline","lineheight","removeformat","|","image","multiimage","table","emoticons","|",
        "anchor","link","unlink"]';
    } else { $params['width'] = empty($params['width']) ? 680: $params['width']; $items = '["source","|","undo","redo","|","preview","print","template","code","cut","copy","paste","plainpaste","wordpaste","|","justifyleft","justifycenter","justifyright",
        "justifyfull","insertorderedlist","insertunorderedlist","indent","outdent","subscript",
        "superscript","clearhtml","quickformat","selectall","|","fullscreen","/",
        "formatblock","fontname","fontsize","|","forecolor","hilitecolor","bold",
        "italic","underline","strikethrough","lineheight","removeformat","|","image","multiimage",
        "flash","media","insertfile","table","hr","emoticons","baidumap","pagebreak",
        "anchor","link","unlink","|","about"]';
    } $editor = '<script charset="utf-8" src="/kindeditor/kindeditor.js"></script>
    <script charset="utf-8" src="/kindeditor/lang/'.$params["lang"].'.js"></script>
    <link rel="stylesheet" href="/kindeditor/themes/'.$params["theame"].'/'.$params["theame"].'.css" />
    <script>
            KindEditor.ready(function(K) {
                    window.editor = K.create("#editor_id",{
                        themeType:"'.$params["theame"].'",
                        langType : "'.$params["lang"].'",
                        items: '.$items.',
                        minWidth: 400,
                    });
            });
    </script>
    
    <textarea id="editor_id" name="'.$params["name"].'" style="width:'.$params["width"].'px;height:'.$params["height"].'px;">
    </textarea>'; return $editor;
}
复制代码

 

注意js,css路径要根据自己的项目灵活修改,当然也可以放进参数里面,不过这样的话调用的时候就麻烦些。鉴于这些路径不会经常改动,所以这里直接写死了。

然后,就可以在模板中使用html_kindeditor插件函数了,比如:

{html_kindeditor name="kindcontent" width="700" height="250" theame="simple" lang="en" items="simple"}

 

以后,项目中需要编辑器的地方,直接写个这样的标签就行,是不是很方便呢?

 


700-90


顶一下
(1)
100%
踩一下
(0)
0%

特别声明:本文为 PHP家园 自媒体平台 作者上传并发布,仅代表该作者观点。PHP家园 仅提供信息发布 平台。
本站全部内容均为 PHP家园 军迷娱乐与生活分享与个人的看法,不涉及任何军事与政治内容,图片与文章均来自网络,如有任何内容您觉得不妥,请立刻联系网站管理员给予删除!

查看原文      
最新评论   点击评论  
您好!没有相关评论,请 点击评论


表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
点击查看更多精彩内容

最新资讯

最新文章

返回顶部