首先声明我不是搞技术的,更不是phper.只是每天都登陆WC社区,看看别人的经验。下面说的有可能有很多地方有概念性错误,所以至于别人用这方法修改引起的后果 本人概不负责。
一下内容可以理解为只为3.0.2的基础修改。
几个问题中我推荐过一个开源markdown编辑器。项目地址:pandao.github.io/editor.md/,自行下载。放到static/js文件夹新建一个文件夹里面(不是打广告,我跟他毫无关系,呵呵)
1.首先清除问题内页,话题内页,发布页面导入过来的编辑器资源文件。以免冲突。(可以从程序后台admin/settings/category-contents设置中找到编辑器设置选项,markdown编辑器项去掉,设置成普通的编辑器)
代码分别在app/publish/main.php app/question/main.php app/topic/main.php 当中。
这个代码自己查找,并注释。(网站后台关闭设置成普通编辑器的则下面省略下面一个步骤)
if (get_setting('advanced_editor_enable') == 'Y')
{
//import_editor_static_files();
}
这儿必须注释。因为要用的新编辑器中插入附件按钮失灵。到最后我们把文件挪到编辑器资源后面。app/publish/main.php 中共两处位置出现
if (get_setting('upload_enable') == 'Y')
{
// fileupload
//TPL::import_js('js/fileupload.js');
}
这个就表示头部文件不会导入编辑器资源文件了。
还有一些.js文件中有编辑器初始化代码 分别在publish.js,和....( 忘了在哪儿了)注释掉。(后台设置成普通编辑器的可以省略这步骤,因为普通编辑器没有那么多的资源可导入到头部的)
以下面的形式开头,可以删除(后台设置成普通编辑器的可以省略这步骤,因为普通编辑器没有那么多的资源可导入到头部的)
if (G_ADVANCED_EDITOR_ENABLE == 'Y')
{
var editor=.....
}
接下来:每个输出的模板文件地下载入新编辑器的资源文件。分别views/模板/question/index.tpl.htm, topic/index.tpl.htm, publish/index.tpl.htm publish/article.tpl.htm,写在导入的footer模板前面就行。
<link rel="stylesheet" href="<?php echo G_STATIC_URL; ?>/js/
新编辑器所在的文件夹/css/editormd.css">
<script src="<?php echo G_STATIC_URL; ?>/js/新编辑器所在的文件夹/editormd.min.js"></script>
<script type="text/javascript" src="<?php echo G_STATIC_URL; ?>/js/fileupload.js"></script>
<script>
var testEditor;
$(function() {
testEditor = editormd("editor", {
width : "100%",
height : 300,
theme : "neo",
watch : false,
dialogShowMask : false,
dialogDraggable : false,
atLink : true,
emailLink : false,
toc : false
}
});
</script>
还要在这模板文件里面找到 <textarea class="wmd-input form-control autosize" 的位置.把这textarea用<div id="editor">括起来。比如
<div id="editor">
<textarea class="wmd-input form-control autosize" id="wmd-input" name="question_detail">
<?php echo $this->question_info['question_detail']; ?>
</textarea>
</div>
接下来要兼容fileupload.js.找到$(btn).click(function()位置
修改成:
$(btn).click(function()
{
testEditor.insertValue("\n[attach]" + attach_id + "[/attach]\n");
});
好了。新编辑器可以说添加到模板里了。还需要弄Markdown格式的优雅排版要更换parser.就是markdown格式php解析库。你可以选用Parsedown.php.这个库文件要从parsedown.org 下载。据说是最快的markdown解析库。而且支持GFM格式。Wecenter自带的Markdown.php 经过官方改动过。所以一些表格之类的格式不支持。所以建议更换。
好了。接下来更换markdown格式渲染库方面的更改。从官网下载parsedown.php并放到system/Services文件夹内。
打开parsedown.php把class name 改成:class Services_Parsedown{
OK。 接下来打开system/class/cls_format.inc.php 找到public static function parse_markdown($text){ 函数
并更改成:
public static function parse_markdown($text)
{
if (!$text)
{
return false;
}
return load_class('Services_Parsedown')->setMarkupEscaped(true)->text($text, true);
}
成! 现在发布的内容用parsedown.php渲染格式了。
出现问题可以问。没精力写下去了。
阅读全文
收起全文