在参考了第一位发出修改编辑器的那位发出的这个帖子http://wenda.wecenter.com/question/13184,云里雾里的看了10几分钟还是没有头绪,就自己动手去看代码了,然后修改了下,本着方便升级的念头我就没有动太多的文件。本着官方的东西能不动的就尽量不动的原则,已经尽量做到最少的修改了,基本上功能都还在,
附件已经上传,注意此次修改的版本为WeCenter 2.5.16,其他版本请手动修改本次修改的内容如下 1.修改高级发布界面的文章和问题的输入框为百度编辑器
$this->crumb(AWS_APP::lang()->_t('发布'), '/publish/');2.替换markdown编辑器的js链接,换成百度编辑器的js链接,一个是文章的,一个是问题的 //代码117行,替换成下面这段代码
// codemirror TPL::import_css('js/ueditor/third-party/codemirror/codemirror.css'); TPL::import_js('js/ueditor/third-party/codemirror/codemirror.js'); // editor TPL::import_js('js/ueditor/ueditor.config.js'); TPL::import_js('js/ueditor/ueditor.all.min.js');
位置就自己对照自己的替换,js文件夹在static文件夹下面,我是把ueditor编辑器整个文件夹放到js文件夹下面去的,所以我的位置是这个,你们的看你们放的位置引进,后面我就不提示了//代码186行,替换成下面这段代码
// codemirror TPL::import_css('js/ueditor/third-party/codemirror/codemirror.css'); TPL::import_js('js/ueditor/third-party/codemirror/codemirror.js'); // editor TPL::import_js('js/ueditor/ueditor.config.js'); TPL::import_js('js/ueditor/ueditor.all.min.js');(2).加载编辑器 //问题发布界面的编辑器 //路劲:views\default\publish //文件:index.tpl.htm //实例化编辑器 1.增加:
<script type="text/javascript">var ue = UE.getEditor('advanced_editor');</script>// advanced_editor 是容器的id,代码位置随意,我放在底部 2.删除 <textarea> 节点的这个'form-control'的class//不删编辑器进不去textarea里面,而且也无法撑大textarea,其他没有动 //原代码
<textarea name="question_detail" id="advanced_editor" rows="20" class="autosize form-control advanced_editor">
<?php echo $this->question_info['question_detail']; ?>
</textarea>
//修改后代码,只是删除个class
<textarea name="question_detail" id="advanced_editor" rows="20" class="autosize advanced_editor">
<?php echo $this->question_info['question_detail']; ?>
</textarea>
#补充:文章发布界面的编辑器加载,忘了写了
//路劲:views\default\publish
//文件:article.tpl.htm
//实例化编辑器
1.增加:
<script type="text/javascript">var ue = UE.getEditor('advanced_editor');</script>// advanced_editor 是容器的id,代码位置随意,我放在底部 2.删除 <textarea> 节点的这个'form-control'的class//不删编辑器进不去textarea里面,而且也无法撑大textarea,其他没有动 //原代码
<textarea name="question_detail" id="advanced_editor" rows="20" class="autosize form-control advanced_editor">
<?php echo $this->question_info['question_detail']; ?>
</textarea>
//修改后代码,只是删除个class
<textarea name="question_detail" id="advanced_editor" rows="20" class="autosize advanced_editor">
<?php echo $this->question_info['question_detail']; ?>
</textarea>
#二、问题详情页编辑器替换
//路径:app\question
//修改文件:main.php
(1).js引入
//代码379行,替换成下面这段代码
// codemirror TPL::import_css('js/ueditor/third-party/codemirror/codemirror.css'); TPL::import_js('js/ueditor/third-party/codemirror/codemirror.js'); // editor TPL::import_js('js/ueditor/ueditor.config.js'); TPL::import_js('js/ueditor/ueditor.all.min.js');(2).加载编辑器 //路劲:views\default\question //修改文件:index.tpl.htm //实例化编辑器 1.增加:
<script type="text/javascript">var ue = UE.getEditor('advanced_editor');</script>2.删除 textarea 节点的这个form-control的class //原代码
<textarea name="question_detail" id="advanced_editor" rows="20" class="autosize form-control advanced_editor">
<?php echo $this->question_info['question_detail']; ?>
</textarea>
//修改后代码
<textarea name="question_detail" id="advanced_editor" rows="20" class="autosize advanced_editor">
<?php echo $this->question_info['question_detail']; ?>
</textarea>
三、问题详情页内容格式解析
(1).问题内容格式解析
//当前是按照MarkDown语法进行分析,这个要替掉
//路径:app\question
//文件:min.php
1.将305行的代码替换:
//原始代码
$question_info['question_detail'] = FORMAT::parse_attachs(nl2br(FORMAT::parse_markdown($question_info['question_detail'])));//替换之后的代码
$question_info['question_detail'] = htmlspecialchars_decode($question_info['question_detail']);(2).问题回复列表格式解析 //路径:app\question //文件:min.php 1.将258行的代码替换: //原始代码
$answer['answer_content'] = $this->model('question')->parse_at_user(FORMAT::parse_attachs(nl2br(FORMAT::parse_markdown($answer['answer_content']))));//替换之后的代码
$answer['answer_content'] = $this->model('question')->parse_at_user(htmlspecialchars_decode($answer['answer_content']));#看了这么多,相信到家都看出一定规律了,文章那个就解析的问题,那个就留给大家自己解决了,还有一些小问题,比如百度编辑器上传的图片,不会自动添加图片放大的那个插件,但是用原版的上传附件的方式是可以添加的,这个要我暂时没动,下次有空修改下,还有ctrl+回车提交还是会出错,这个是因为我没动太多的东西,防止升级被要重新修改,或者下个版本要是不再是这样子修改的话,又要麻烦一大堆,所以我没动 #最后附上我自己修改成功之后的截图 1.编辑器界面 2.问题详情页界面 3.列表回复界面 4.回复编辑器界面
我下的百度编辑器是完整版的,里面自带了一套前台显示的功能,如果要里面的功能全部可以用,比如分页等wecenter不支持的功能,那就需要自己在次增加代码,这个代码不过百度编辑器那里就有详细的介绍,也是一段小代码就可以解决的事情,地址http://fex-team.github.io/ueditor/#start-uparse,如果需要mini版的自己去下,替换操作是一样的备注:百度编辑器下载过来,如果要上传功能存在的话,我的是需要修改存储路径的,图片,音乐,视频等,你们的是不是这样就自己测试了,修改路劲看编辑器官方文档,人家写的很详细我就不写了,请原谅我这么不负责任的推脱,这么晚了实在坚持不了了,洗洗睡去了 #内容补充:文章内容解析 //路径:app\article //修改文件:main.php //67行 //原代码
$article_info['message'] = FORMAT::parse_attachs(nl2br(FORMAT::parse_markdown($article_info['message'])));修改之后的代码
$article_info['message'] = htmlspecialchars_decode($article_info['message']);#2014.8.3日内容补充: 三、文章列表页,编辑器格式解析 //路径:views\default\article //文件:square.tpl.htm 1.将29和38行的代码替换: //原始代码
<?php echo FORMAT::parse_attachs(nl2br(FORMAT::parse_markdown($val['message']))); ?>
//替换之后的代码
<?php echo htmlspecialchars_decode($val['message']); ?>
成功之后的截图
#编辑器貌似3.0是另外一个,那个编辑器貌似还可以i,那个编辑器我还没有下过来用过,不过这个换编辑器最好考虑清除,因为编辑器会带上自己能看的懂的代码,编辑器之间是不互相兼容的,除非都是html代码,但是这个不同浏览器之间就有兼容问题,所以换编辑器器之前需要深思熟虑的考虑下,在做决定
附带传送门
文章、问题分离操作:http://wenda.wecenter.com/question/18661
文章、问题添加分页功能:http://wenda.wecenter.com/question/18667
附件下载:
#注意事项:
1.原版的上传附件的功能还在,这里的设置是有后台控制的,但是编辑器的附件、图片上传是靠编辑器设置的,是不一样的,要修改上传路径、设置文件限制等是在编辑器里面修改的,这个修改不会影响到原版的设置,这是互不干扰的
2.
<ul class="pagination bootpag"> <li class="prev"><a href="question/<?php echo $q_id; ?>?page=1" title="首页">«</a></li> <?php echo $strpage; ?> <li class="next disabled"><a href="question/<?php echo $q_id; ?>?page=<?php echo $pamount; ?>" title="尾页">»</a></li> </ul>
这家伙很懒,还没有设置简介