thinkphp3.0 中的thinkeditor怎么用
一直纠结于thinkphp中怎么加载编辑器,最新我看就thinkphp3.0中tool工具中带了一个thinkeditor。但是一直的不知道怎么配置,那个高手能给详细的给我配置下吗?谢谢了
回复讨论(解决方案)
他不是有说明文档吗?
首先,介绍下本编辑器:
本编辑器是thinkphp(简称tp)官方2010年某位大侠所创架构、用jquery写的,后又经历成立夫之手完成,我只是写了标签库、及本日志,本人接手后,水平有限、又没 有时间,尚未搞懂它的具体流程,今后将由左家梓(网名麦当苗儿)这位曾经和kindeditor官方人员接触的js大侠完善,当然网友也可以贡献力量,提 出建议,和贡献插件。
其次,使用thinkeditor必须注意三个地方:
1.本编辑器只适用于tp(上传的地方TP写法,其他框架使用自行修改)。js部分的引用写成了标签库。
2.使用本编辑器的人都要有大无畏的冒险精神,爱折腾,因为本编辑器尚未完善,不能称的上专业。
3.本编辑器只提供大部分网站基本的编辑器的功能,排版、文章中能显示图片flash;插入视频插件未开发。有待广大网友的鼎力帮助。
如何使用本编辑器?
首先,下载整个编辑器的压缩包。
然后,解压,将thinkeditor文件夹放入你的项目公共资源目录/Public下。
并将其中的标签TagLibTp.class.php放入项目的Lib\TagLib\下,并根据框架版本在配置中配置引入的插件路径。(2.2和3.0使用方式会有不同)。
再然后,在模板引用的地方加上
在head位置加上
这里先说几个参数id是你要替换的textarea的id,uploadURL是上传处理的方法,width是编辑器的宽,可以以px表示,也可以用百分表表示 如width = "100%",因此要单位,其他的参数不需要写单位的。
其他参数的话,参考标签库和说明文档。
然后给项目添加编辑器的上传方法。
如blog中的PublicAction.class.php中的写法
public function editor_up(){
//$savePath 为项目下的上传目录名 如 uploads 会是 上传到__ROOR__/uploads下,为空则上传到__ROOT__/uploads/thinkeditor下
// $saveRule为上传文件命名规则,例如可以是 time uniqid com_create_guid 等,例如可以是 time uniqid com_create_guid 等 默认为time参考tp的上传类
// 例如可以是 time uniqid com_create_guid 等
$savePath = 'uploads';
$saveRule = 'time';
import("@.ORG.UploadFile");
$savePath = ($savePath)? './'.$savePath : './Uploads/thinkeditor';
$savePath = (substr($savePath,-1)!='/')?$savePath.'/':$savePath;
$maxSize = ($_POST['temaxsize'])? $_POST['temaxsize'] : -1;
$upload = new UploadFile($maxSize,'','',$savePath,$saveRule);
//传给js的参数 $savepath是上传的文件的生成路径,$isupload是上传是否成功的布尔值
$savepath = '';
$isupload = 'false';
if(strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
$info = $upload->uploadOne($_FILES['teupload']);
if($info){
$isupload = 'true';
$savepath = $upload->savePath.$info[0]['savename'];
$savepath = substr($savepath, 1);
}else{
$error = $upload->getErrorMsg();
}
}
import('@.TagLib.TagLibTp');
//上面的上传只是写个例子,用户上传可以自定义的,但是下面的是传给编辑器的
//参数必须为$isupload,是否成功,上传后的文件相对路径$savepath必须相对于项目根目录的,错误信息
TagLibTp::think_upload($isupload,$savepath,$error);
}
有能力的童鞋可以自己写上传方法,只要最后自己调用TagLibTp::think_upload($isupload,$savepath,$error);传入对应的参数即可,就可以使用本编辑器了。效果如图:
本编辑器内写了的自动刷新,保存文本时就不用调用方法保存了。还有标签调用时写了jquery的防冲突模式,因此其他类库可以与之同时使用。
至于插件的开发,看说明文档。我在plugins\system.js里写了个实现弹窗输入thinkphp的eq标签的
name 和value值后生成thinkphp eq 标签的插件,去掉注释,在thinkeditor.js里defaults配置里controls里加上eq,
这行去掉注释,应该就能出来了。不过我没加样式,用的html源码的图标。开发起来不难的,相信凭着大家的创造力,可以开发出很多编辑器的插件的.。
谢谢您的支持,thinkphp官方组
愿您过个好年! 2012年1月15日
3.0中不是extend里面有一个tool文件夹 里面自带了thinkeditor 还需要导入吗?

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

长URL(通常用关键字和跟踪参数都混乱)可以阻止访问者。 URL缩短脚本提供了解决方案,创建了简洁的链接,非常适合社交媒体和其他平台。 这些脚本对于单个网站很有价值

在Facebook在2012年通过Facebook备受瞩目的收购之后,Instagram采用了两套API供第三方使用。这些是Instagram Graph API和Instagram Basic Display API。作为开发人员建立一个需要信息的应用程序

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

这是有关用Laravel后端构建React应用程序的系列的第二个也是最后一部分。在该系列的第一部分中,我们使用Laravel为基本的产品上市应用程序创建了一个RESTFUL API。在本教程中,我们将成为开发人员

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

2025年的PHP景观调查调查了当前的PHP发展趋势。 它探讨了框架用法,部署方法和挑战,旨在为开发人员和企业提供见解。 该调查预计现代PHP Versio的增长
