Thinkphp编辑器扩展类kindeditor用法


一, 使用前的准备。
使用前请确认你已经建立好了一个Thinkphp站点项目。


1Keditor.class.php和JSON.class.php 是编辑器扩展类文件,将他们拷贝到你的站点项目的ThinkPHP\Lib\ORG\Net 目录下。


2editor目录是kindeditor的核心包。将其拷贝到你项目的Public目录下(和入口文件同级的那个Public,并在Public下再建立一个Upload目录。用于存放使用编辑器上传的图片。
3KeditorAction.class.php是编辑器的上传图片功能和浏览远程图片功能,将其拷贝到你项目的lib\Action 目录下。

二, 对象的调用
在控制器方法中调用对象:

import("ORG.Net.Keditor");
$ke=new Keditor();
$ke->id="content";//指定textarea的id
$keshow=$ke->show();//生成js代码
$this->assign("keshow",$keshow);
$this->display();



在方法相应的模版文件里显示编辑器:

<html>
<head>{$keshow}</head><!--输出js。建议放在head-->
<body>
<form id="form1" name="form1" method="post" action="">
<textarea name="content" id="content" cols="70" rows="20"><!-文本域。id为content-->
</textarea>
<input name="img" id="img" type="hidden" value="" /><!--隐藏域存储编辑器上传的图片地址,id为img-->
</form>
</body>
</html>


上面的是最简单的调用方法,扩展类还有非常多属性和方法。要想实现更完美的功能,接着往下读。

三, 对象的属性
   我把属性分为两种。一种是kindeditor自带属性,一种是扩展新增属性。假设你曾经就使用过kindeditor,你应该知道kindeditor自身有id、items、width、height、afterCreate等等30个属性。这些属性如今能够用过php直接定义,比方定义id$ke->id=”content”,定义宽度:$ke->width=”700px”; 我先说对象新增属性。
对象的新增属性:
1jspath:定义kindeditor的核心js文件。默认值为/Public/editor/kindeditor.js ,假设你的editor目录没有放在Publib下须要指定此属性,$ke->jspath=”/kind/ kindeditor.js”;
2form指定提交的表单(from)的id。默觉得form1,这个属性是结合ctrl+enter提交功能使用的。比方有个你的编辑器放在表单id为 “formid”内,要实现ctrl+enter提交formid表单。须要定义$ke->form=”formid” 。

  ctrl+enter提交功能还要设置其它属性。后面再解说。


3imgid指定存放图片地址的隐藏域id。默觉得img

编辑器每上传一张图片。会把图片地址存储到该隐藏域。在向数据库加入数据时,能够把此隐藏域中的数据也保存到数据库字段中。在删除数据时候。先读取数据库存放的图片地址,进行删除。删除过程仅仅要调用对象的delimg方法就可以。此方法后面具体解释。这样就达到删除内容同一时候删除图片的目的。
自带属性:
1items:配置编辑器的工具栏,定义方法如
$ke->items=”['source', '|', 'fullscreen', 'undo', 'redo', 'print', 'cut', 'copy', 'paste']”; 
我添加了little关键词,能够高速定义一个精简模型的编辑器。用法$ke->items=”little”;
2afterCreate:设置编辑器创建后运行的回调函数,定义方法如
$ke->afterCreate=”function(id){
alert(‘成功创建’+id)
}”;
我添加了ctrlenter关键词,能够高速定义ctrl+enter提交表单,用法:
$ke->afterCreate=”ctrlenter”;
同一时候须要定义$ke->form=”formname”, formname换为你编辑器所在的表单id
3resizeMode:2102时能够拖动改变宽度和高度。1时仅仅能改变高度。0时不能拖动。定义方法如:$ke->resizeMode=1; 注意,数字类型的属性值不要放在引號中,如$ke->resizeMode=”1”;这么定义是错误的。
4allowFileManager:truefalsetrue时显示浏览server图片功能(点击上传图片button能够看到此功能)。定义方法如
$ke-> allowFileManager=ture;
注意,属性值为布尔值时不要放在引號中。
5imageUploadJson指定上传图片的server端程序,默认值为 /index.php/Keditor/upload
6fileManagerJson:指定浏览远程图片的server端程序,
默认值为/index.php/Keditor/filemanager 
注:之前你复制过的KeditorAction.class.php就是供上传图片和浏览远程图片使用的。文件内的upload方法定义了上传图片处理过程,文件内的filemanager方法定义了浏览图片的处理过程。你能够在这两个方法上增加推断权限的代码,实现仅仅有管理员才干上传图片或浏览图片。你也能够不使用默认的KeditorAction.class.php,自定义上传处理过程和浏览图片处理过程。则是你须要又一次定义imageUploadJson属性值和fileManagerJson属性值。 自定义处理过程,后面具体解释。
还有其它自带属性。我就不一一列举了。大家能够查看kindeditor官方文档
http://www.kindsoft.net/doc.php?cmd=config
注意。数字类型或布尔类型的属性值,不要放在引號内。其它属性值放在引號中,属性值的格式和kindeditor自身格式一样。



四 对象的方法。
1upload。上传图片。

此方法在编辑器上传图片处理过程中使用,用法:

import("ORG.Net.Keditor");
Keditor::upload('./Public/Upload/','/Public/Upload/',array('gif','jpg','jpeg','png','bmp'),1000000);


 upload方法有三个參数。依次是。“上传图片文件夹”,“图片显示地址”,“同意上传图片格式”,“同意的图片大小(单位kb)”
上传图片文件夹:默认值“./Public/Upload/”(注意Public前面有个“点”符号。是使用的相对地址,不可使用绝对地址),上传图片文件夹地址是相当于处理文件的。

Thinkphp全部的代码都是通过入口文件执行的,所以这个地址事实上是相对于入口文件的。
显示图片地址:默认值“/Public/Upload”(通常是绝对地址)。如果我们上传了一张图片。server端生成的图片名为 12345.gif。上传会显示的图片地址则为/Public/Upload/12345.gif ,由于我们使用的是绝对地址,所以编辑器公布的内容无论在站点的哪儿,图片都能正常显示。


同意上传的图片格式:定义一个数组。默认值为array('gif','jpg','jpeg','png','bmp')
同意的图片大小:默认值为,1000000 。单位是bk
2filemanager。浏览server的图片。此方法在浏览图片处理过程中使用。用法:

import("ORG.Net.Keditor");
Keditor::filemanager("./Public/Upload/","/Public/Upload/",array('gif','jpg','jpeg', 'png', 'bmp'));


參数依次是:“浏览图片文件夹”,“图片显示地址”,“同意浏览的图片格式”,和upload方法一样,浏览图片文件夹是相对地址。图片显示地址是认为地址。

3delimg:删除通过编辑器上传的图片。此方法一般在你删除数据库数据时使用。

import("ORG.Net.Keditor");
Keditor::delimg($imgfield);
//$imgfield 通常是你数据库存放图片地址的字段。




4show返回生成的js代码。此方法一般在显示编辑器的控制器中使用。


show方法能够使用一个參数定义kindeditor自带属性。

如:

import("ORG.Net.Keditor");
$ke=new Keditor();
$ke->show(“{
id : ”content”,
width: ‘700px’;
height : ”300px”;
imgid : ”img”
}”);


不建议用show传參方式定义kindeditor属性。show传參方式不能定义jspathform两个新站属性。也不能使用littlectrlenter关键词。



转载于:https://www.cnblogs.com/bhlsheji/p/5066604.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实时操作系统与通用计算机操作系统的区别,实时操作系统(RTOS)和通用操作系统(OS)之间的区别...

RTOS vs OS大多数人都熟悉电脑上使用的操作系统。用于个人电脑的最常见的操作系统包括&#xff1a;微软的Windows&#xff0c;苹果的OS X以及各种版本的Linux。但是多数人都不知道实时操作系统(缩写RTOS)&#xff0c;一种用于实时响应的更专业化的操作系统。RTOS和OS两者之间最…

Memcached的基础梳理

1 、Memcached 概念官方解释如下&#xff1a;What is Memcached?Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.Me…

html5 canvas 笔记五(合成与裁剪)

组合 Compositing globalCompositeOperation syntax: globalCompositeOperation type 注意&#xff1a;下面所有例子中&#xff0c;蓝色方块是先绘制的&#xff0c;即“已有的 canvas 内容”&#xff0c;红色圆形是后面绘制&#xff0c;即“新图形”。 source-over  这是默认…

一个能够编写、运行SQL查询并可视化结果的Web应用:SqlPad

SqlPad 是一个能够用于编写、运行SQL查询并可视化结果的Web应用。支持 PostgreSQL、MySQL 和 SQL Server。SqlPad 目前仅适合单个团队在内网中使用&#xff0c;它直接通过网络连接到数据库服务器&#xff0c;任何人可以在上面执行任意 SQL 语句。安装首先安装 Node.js.安装好No…

加拿大计算机语言学,加拿大语言学专业排名

语言学专业简言之就是学习语言&#xff0c;包括语言的结构、形成、历史、以及人们如何使用语言等等。下面出国留学网小编和大家聊一聊2018加拿大大学语言学专业排名&#xff0c;希望对同学们有所帮助&#xff0c;欢迎阅读。1麦吉尔大学 McGill University麦吉尔大学是全球大学校…

UIView之常用方法

UIView之常用方法 将一个视图添加为子视图&#xff0c;并使之在最上面显示 -(void)addSubView:(UIView *)view;将指定子视图移动到顶部 -(void)bringSubViewToFront:(UIView *)view;将指定之视图放到最下面 -(void)sendSubViewToBack:(UIView *)view;将指定视图添加到subviews数…

Web前端开发框架对比

近几年随着 jQuery、Ext 以及 CSS3 的发展&#xff0c;以 Bootstrap 为代表的前端开发框架如雨后春笋般挤入视野&#xff0c;可谓应接不暇。不论是桌面浏览器端还是移动端都涌现出很多优秀的框架&#xff0c;极大丰富了开发素材&#xff0c;也方便了大家的开发。这些框架各有特…

html5 筛子,html5摇骰子游戏

骰子游戏body#can;can;ctx;[];;;]]];window.οnlοad function(){can);ctx);ctx.clearRect(0,0,can.width,can.height);for(var i0;ictx.fillStyle orange;ctx.fillRect(diceCoordinates[i][0],diceCoordinates[i][1],40,40);draw(diceCoordinates[i],i,pointCoordinates[i]);…

关于xcode7编译旧项目崩溃-[UIApplication _runWithMainScene:transitionContext:completion:]

崩溃原因 crash&#xff1a;Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-&#xff08; *** Terminating app due to uncaught exception NSInternalInconsiste…

linq.js的用法

linq.js 详细介绍linq.js 是一个 JavaScript 实现的 LINQ。主要特性&#xff1a;实现所有 .NET 4.0 的方法complete lazy evaluationfull IntelliSense support for VisualStudiotwo versions - linq.js and jquery.linq.js (jQuery plugin)support Windows Script Hostbinding…

标准MD5加密算法

标准MD5加密算法: public class Md5 {public static String getMd5(String s) {char hexDigits[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,a, b, c, d, e, f };try {byte[] strTemp s.getBytes();MessageDigest mdTemp MessageDigest.getInstance("md5");mdTemp.update(s…

程序员大牛们的经典语录

1、很多问题不见得会出在你身上&#xff0c;但你亦需要想法解决问题&#xff0c;否则就会变成你的问题&#xff1b;2、懂得但策略的说不&#xff08;不会这个准备累死吧&#xff0c;程序员&#xff09;&#xff1b;3、我考进事业单位&#xff0c;呵呵&#xff0c;没有传说中的那…

linux下创建的符号链接的权限

今天为shell脚本创建符号链接的时候突然发现的, 创建的符号链接文件的默认权限是 777, 而想要这个脚本可执行, 必须为真正的文件加上 x 权限才可以. 转载于:https://www.cnblogs.com/vanwoos/p/5075656.html

计算机osta试题,OSTA试题库.doc

OSTA试题库章节单选多选填空判断小计计算机基础知识64152020119Windows操作系统4810101583计算机网络应用4810151184Word文档处理51172120109Excel电子表格处理4515152095PowerPoint演示文稿制作5215112098多媒体技术4512102087合计35394102126675计算机基础知识(64152020120)一…

SQLSERVER得到数据库中所有表字段及字段中文描述

如何得到数据库中所有表字段及字段中文描述以下资料,通过csdn的一位师兄从SQL版主那得到:sql中SELECT (case when a.colorder1 then d.name else end) N表名, a.colorder N字段序号, a.name N字段名, (case when COLUMNPROPERTY( a.id,a.name,IsIdentity)1 then √else end)…

SQL Server 2008 R2——使用数字辅助表(master..spt_values)实现用计数字段对记录进行重复显示...

SQL Server 2008 R2——使用数字辅助表&#xff08;master..spt_values&#xff09;实现用计数字段对记录进行重复显示 原文:SQL Server 2008 R2——使用数字辅助表&#xff08;master..spt_values&#xff09;实现用计数字段对记录进行重复显示版权声明 版权声明&#xff1a;原…

编程界十大顶级IDE

IDE是集成开发环境&#xff08;Integrated Development Environment&#xff09;缩写。IDE是一种个编程软件&#xff0c;是集成了程序员语言开发中会需要的一些基本工具、基本环境和其他辅助功能的应用软件。IDE一般包含三个主要组件&#xff1a;源代码编辑器&#xff08;Edito…

就业局培训计算机心得,人社局计算机培训心得体会.doc

人社局计算机培训心得体会人社局计算机培训心得体会篇一&#xff1a;计算机培训心得体会 计算机培训心得体会: 2017年暑假&#xff0c;我参加了骨干教师计算机培训。通过5天培训老师认真的讲解、不厌其烦的答疑&#xff0c;同班学习的各校同行们激情四射的讨论交流&#xff0c;…

有点成熟的短句,最新个性签名

01、从前的人&#xff0c;多认真。02、我不希望你死于一事无成。03、放弃自我&#xff0c;而后成就自我。04、漫漫人生路&#xff0c;我们且行且珍惜&#xff01;05、你我只是初见&#xff0c;我便爱上了你。06、放弃了所有&#xff0c;却等不来你说的承诺。07、不问风&#xf…

iscroll 4.0 滚动(水平和垂直)

1、概述 iscroll 专注于页面滚动js。Iscroll滚动做的挺好,特别是针对手机网页&#xff08;android、iphone&#xff09;正好弥补手动滑屏的遗缺&#xff0c;而今研究一番&#xff0c;把代码贴出来&#xff0c;供大家参考。 2、iscroll使用说明 初始化iScroll wrapperhour//标识…