ThinkPHP整合百度Ueditor图文教程
本文将介绍如何在ThinkPHP框架中整合百度Ueditor编辑器,以图文结合的方式详细阐述操作步骤,希望能对大家有所帮助。
在整合过程中,首先需要注意路径的设置。建议在使用绝对路径时,如`window.UEDITOR_HOME_URL`,要确保路径的准确性。黄永成老师在教程中已经强调了这一点,因此在实际操作时,务必遵循其建议。
接下来是调用编辑器时的初始化步骤。在JavaScript代码中,需要设置编辑器的相关参数,如初始高度、图片上传提交地址以及图片调用地址等。这些值的设置顺序不能改变,以确保编辑器的正常运行。例如:
```javascript
window.UEDITOR_HOME_URL = "/Public/ueditor/";
window.onload = function() {
window.UEDITOR_CONFIGitialFrameHeight = 300;
window.UEDITOR_CONFIG.imageUrl = "{:U('admin/Category/checkPic')}";
window.UEDITOR_CONFIG.imagePath = '/Uploads/thumb/';
UE.getEditor('contents'); // 'contents'为textarea的id值
};
```
随后,需要引入两个JS文件:`ueditor.all.min.js`和`ueditor.config.js`。这些文件的引入顺序同样重要,必须按照教程中的顺序进行,以确保编辑器的正常运作。
```php
public function checkPic() {
import('ORG.Net.UploadFile');
$upload = new UploadFile();
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');
$upload->autoSub = true;
$upload->subType = 'date';
$upload->dateFormat = 'ym';
$upload->savePath = './Uploads/thumb/';
if ($upload->upload()) {
$info = $upload->getUploadFileInfo();
echo json_encode(array(
'url' => $info[0]['savename'],
'title' => htmlspecialchars($_POST['pictitle'], ENT_QUOTES),
'original' => $info[0]['name'],
'state' => 'SUCCESS'
));
} else {
echo json_encode(array('state' => $upload->getErrorMsg()));
}
}
```
这段代码首先引入了ThinkPHP官方的文件上传处理类,并初始化了相关配置。接着判断图片是否上传成功,如果成功则获取上传信息并返回JSON格式的数据,包括图片的URL、标题、原始名称以及状态。如果上传失败,则直接返回失败信息。
以上内容都是在黄永成老师的教程中已经详细讲解过的知识点。本文旨在为大家提供一种生动、丰富的表达方式,以便更好地理解和实现ThinkPHP整合百度Ueditor的方法。如有不懂之处,建议观看黄永成老师的视频教程以获取更详细的指导。在上传图片后,发现图片路径被转义了,导致无法正常显示。我深入研究了这个问题,发现通过在代码中加入反转义函数 {$article.content|stripslashes},能够将转义的字符串重新反转回来,从而恢复数据的正常显示。这个过程就像是解锁了一串密码,让原本隐藏的内容得以显现。经过这样的处理,数据的展示变得畅通无阻。
在前台模板展示数据时,除了反转义操作,还需要对HTML实体进行解码处理。使用 {$article.content|htmlspecialchars_decode|stripslashes} 这一组合函数就能实现这一需求。这样,数据就能以原始的、未经篡改的形式展示出来,让用户能够清晰地看到内容。
还有一个问题困扰了我,那就是百度编辑器随着内容的增长而撑高的问题。这个问题可以通过修改Ueditor的配置文件ueditor.config.js来解决。打开第428行的注释并将其设置为true,再调整第430行到你需要的高度,就能有效控制编辑器的高度,防止其随意撑高。这样的调整让编辑器的展示更加合理,提升了用户体验。
在这里,我想分享一下关于Ueditor在ie7浏览器中的SEO优化bug的解决办法。在浏览官网时,我发现有人提到了这个问题,因为我只使用了ie6浏览器,所以并没有亲自测试过。在这里感谢那位专业人士的提醒和分享。对于ie7中的这个问题,按照他的解决方案进行调整,就能顺利解决bug。
这些问题都是我在实际操作中遇到的挑战。通过不断尝试和摸索,我找到了解决方法并付诸实践。希望我的分享能为大家带来帮助和启示。在这个过程中,如果有任何说的不对的地方,欢迎指出,我会虚心接受并改正。感谢大家的关注和交流,让我们一起共同进步!
编程语言
- ThinkPHP整合百度Ueditor图文教程
- ASP.NET下将Excel表格中的数据规则的导入数据库思
- PHP实现电商订单自动确认收货redis队列
- 详解Angular6学习笔记之主从组件
- PHP使用PDO从mysql读取大量数据处理详解
- ASP 无限级分类实现
- PHP学习笔记之php文件操作
- 如何为CheckBoxList和RadioButtonList添加滚动条
- 页面嵌入Windows Media Player播放器代码需要注意的
- AngularJS变量及过滤器Filter用法分析
- 微信小程序如何调用新闻接口实现列表循环
- ASP.NET实现个人信息注册页面并跳转显示
- 从此不再惧怕URI编码 JavaScript及C# URI编码详解
- 浏览文件夹下面所有图片
- SQL优化基础 使用索引(一个小例子)
- PHP中绘制图像的一些函数总结