首先声明我不是搞技术的,更不是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渲染格式了。
出现问题可以问。没精力写下去了。
 
                                     阅读全文
                                
                                
                                     收起全文