ThinkPHP跟FCKeditor编辑器的完美结合

WBOY
Release: 2016-06-13 10:54:16
Original
845 people have browsed it

ThinkPHP和FCKeditor编辑器的完美结合

应用步骤:

1、下载FCKeditor2.x版本,将解压后的文件夹FCKeditor复制到ThinkPHP文件夹下的Vendor目录下,以便符合 THinkPHP的第三方类库引入规则。

2、修改参数:

首先,用EditPlus等软件打开FCKeditor目录下的fckeditor_php5.php文件,找到第130行。出现内容如下:

public function __construct( $instanceName )

{$this->InstanceName = $instanceName ;

$this->BasePath= ‘ ‘ ;

$this->Width = ‘900′;

$this->Height = ‘400′;

$this->ToolbarSet = ‘Default’ ;

$this->Value = ‘ ’;

$this->Config = array() ;

}

public function __construct( $instanceName )
{
$this->InstanceName = $instanceName ;
$this->BasePath = ‘/bm/ThinkPHP/Vendor/FCKeditor/’ ;
$this->Width = ‘900′;
$this->Height = ‘400′;
$this->ToolbarSet = ‘Default’ ;
$this->Value = ”;

其中,最关键的就是将Basepath设置好。里面填写的就是fckeditor_php5.php文件相对于网站文档根目录(document root)的路径。其实这就是用以表征FCKeditor编辑器相对根目录的路径。比如服务器的文档根目录最下级是htdocs/或www/,项目名为 project,project项目文件夹下有Thinkphp系统文件包与项目文件包myapp。而且服务器没有对该项目设置虚拟主机的话,此时的文档 根目录仍是www/或htdocs/,那么应该是$this->BasePath=’/project/ThinPHP/Vendor /FCKeditor/’;

若是设置了虚拟主机,即将project变为虚拟的文档根目录,通过某一域名能够直接访问网站项目的话,那么此时,

$this->BasePath=’/ThinPHP/Vendor/FCKeditor/’;

其他的参数如宽度与高度可以填或不填,若填下的话就是编辑器的默认高与宽。InstanceName是编辑器所在标签的id与name,此时不用理 会。其他参数也不用理会。

其次,在FCKeditor\editor\filemanager\connectors\php\下面找到config.php文件,打开它, 找到30与34行。需要改写的参数如下:$Config['Enabled'] = true ;

$Config['UserFilesPath'] = ‘ ’ ;

其中,第一个参数应该设为true.默认是true.第二个参数填写的是上传文件的路径,比如要显示的图片等。我们在project目录下建立一个 uploads文件夹,那么$Config['UserFilesPath'] = ‘ /project/uploads/ ‘;路径规则与上一个basepath一样。要是project是虚拟文档根目录的话,那么$Config['UserFilesPath'] = ‘ /uploads/ ‘;

3、应用程序:

比如在myapp项目中Lib目录下IndexAction.class.php控制器类中的index方法中,当访问该程序时,输出的模板网页里 有form表单,要求用户输入一篇文章,那么就可以用到编辑器.代码示例如下,只显示与fckeditor有关的代码,其他代码会略。

首先是服务器程序:

public function index()

{……//其他代码

vendor(”FCKeditor.fckeditor”);//包含FCKeditor类库,TP引入第三方类库的系统方法,其路径是相对于 vendor目录来说的。

$editor= new FCKeditor(); //实例化FCKeditor对象

$editor->Width=’980′;//设置编辑器实际需要的宽度。此项省略的话,会使用默认的宽度。

$editor->Height=’400′;//设置编辑器实际需要的高度。此项省略的话,会使用默认的高度。

$this->Value=”;//设置编辑器初始值。也可以是修改数据时的设定值。可以置空。

$editor->InstanceName=’comment’;//设置编辑器所在表单内输入标签的id与name,即标签的id与name。此处假 //设为comment.此处不可省,也要保持唯一性。表单上传到服务器处理程序后,即可通过$_POST['comment']来读取。

$html=$editor->Createhtml();//创建在线编辑器html代码字符串,并赋值给字符串变量$html.

$this->assign(’html’,$html);//将$html的值赋给模板变量$html.在模板里通过{$html}可以直 接引用。

…….//其他代码,包括输出模板。

}

其次是对应的html模板即index 文件。只需要在需要的地方插入编辑器即可,其他代码与一般的

写法一样。

…….

//action里填写表单处理程序,如’__APP__/Index/check’。 指的是IndexAction类下的check()方法来处理提交的表单数据。

……//其他表单填写项

添加新评论:

{$html}

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template