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

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

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

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

{html_kindeditor name="kindcontent"}

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

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

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

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

<?php

/**
 * kindeditor 在线编辑器
 * @author rick <[email protected]>
 *
 * 使用举例:
 * {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"}

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

时间: 2024-11-08 16:01:33

将kindeditor在线编辑器制作成smarty插件的相关文章

jsp解决kindeditor在线编辑器struts图片上传问题

1.下载 官网下载ckeditor,解压后去掉不需要的部分,仅需保留plugin,lang,theme文件夹,这三个文件夹中用不到的东西可以删除, 比如lang文件下存放所有语言文件js,仅仅 保留en.js和zh_CN.js即可,保留jsp文件夹下的json_upload.jsp文件和 kindeditor.js文件即可,把jsp下面的jar导入 在线编辑器:http://kindeditor.net/ 2.修改json_upload.jsp 修改json_upload.jsp文件保存路径即可

asp网站后台里嵌入kindeditor在线编辑器问题

<IFRAME ID="kindeditor1" SRC="kindeditor/asp/demo.asp?id=nr&style=standard" FRAMEBORDER="0" SCROLLING="no" WIDTH="550" HEIGHT="350"></IFRAME> 位置换一下 <input name="nr" t

在线编辑器Ckeditor (1) - php (30)

在线编辑器 在线编辑器也称之为所见即所得编辑器,是一种常见的html源码编辑器. 所见即所得:用户在输入的时候,不论是格式和是样式都能被系统原封不动的保存,最后在查看的时候,可以按照用户输入的原来的结构进行输出. 在线编辑器分类 市面上比较常见的在线编辑器有很多,FCKeditor(在线编辑器+Ajax浏览器端服务器文件管理器,免费的),Ckeditor(Content and Knowledge,在线编辑器与服务器端文件管理器分离,在线编辑器免费,服务器端文件管理器收费(CKfinder)),

kindeditor在线文本编辑器过滤HTML的方法

在使用kindeditor文本编辑器时遇到的问题,客户直接从Excel里粘贴文本内容到文本编辑器中(能不能再懒一些),然后不调整粘贴内容直接就保存(你敢不敢再懒一些)!对于这种很无语的行径,我只能对他大吼一声,我做一个标签过滤吧,这样你粘贴就不会出现问题了(怂?谁惹得起客户). 过滤方法也简单: KindEditor.ready(function (K) { editor = K.create('textarea[name="content"]', { filterMode: true

CKedit在线编辑器

在线编辑器???? ????在实现所见即得的编辑效果. FCK????????????是开发者的名字的缩写 CKEditor????????功能很完善的,具有,在线编辑与图片上传JS插件 UEdit????????????百度自己开发的一款在线编辑器 ? CKeditor安装 http://resource.ckeditor.com/ basic package????????基本安装包????????只包含了基本的功能 standard package????标准安装包????????包含更多

Angularjs在线编辑器

1.TextAngular: https://github.com/fraywing/textAngular textAngular是一个强大的Text-Editor/Wysiwyg 编辑器,用于Angular.js应用中.安装使用方便,可以创建多个编辑器实例,双向绑定HTML内容,可以查看编辑内容的变化.不足之处是不支持上传文件到服务器,只能进行简单的文字编辑,可用于网站的用户评论模块 2.angular.xheditor: https://github.com/cipchk/angular.

ASP.NET配置KindEditor文本编辑器

文本编辑器:CKEditor和CKFinder  KindEditor 1.KindEditor KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框. KindEditor 使用 JavaScript 编写,可以无缝地与 Java..NET.PHP.ASP 等程序集成,比较适合在 CMS.商城.论坛.博客.Wiki.电子邮件等互联网应用上使用

ASP.NET配置KindEditor文本编辑器-图文实例

1.什么是KindEditor KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框. KindEditor 使用 JavaScript 编写,可以无缝地与 Java..NET.PHP.ASP 等程序集成,比较适合在 CMS.商城.论坛.博客.Wiki.电子邮件等互联网应用上使用. 2.前期准备 到官网下载最新版的KindEditor 4.11

KindEditor ---富编辑器

关于 演示 下载 文档 成功案例 English 文档 Documentation http://kindeditor.net/doc3.php 当前位置: 首页  > 文档 文档 Documentation 编辑器调用方法 编辑器初始化参数 添加自定义插件 API文档 常见问题 编辑器调用方法 下载 KindEditor 最新版本.打开下载页面 解压zip文件,将所有文件上传到您的网站程序目录下.例如:http://您的域名/editor/ 在需要显示编辑器的位置添加TEXTAREA输入框.i