好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

DedeCms 5.7 代码高亮实现方法

织梦CMS是国内比较优秀的CMS建站系统之一,DedeCms采用CKEditor在线编辑器,本文讲一下DedeCms 5.7在CKEditor中如何实现代码高亮

");  }  });  // alert('dedepage!');  // Register the toolbar button.  editor.ui.addButton( 'MyPage',  {  label : '插入分页符',  command : 'dedepage',  icon: 'images/dedepage.gif'  });  // alert(editor.name);  },  requires : [ 'fakeobjects' ],  requires : ['syntaxhighlight']  });  })();  [/code]  七、修改/include/ckeditor/ckeditor.inc.php文件,在$toolbar['Basic']数组的最后一行添加元素Code,修改后代码如下: 

 

代码如下:

$toolbar['Basic'] = array(  array( 'Source','-','Templates'),  array( 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Print'),  array( 'Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'),  array( 'ShowBlocks'),array('Image','Flash'),array('Maximize'),'/',  array( 'Bold','Italic','Underline','Strike','-'),  array( 'NumberedList','BulletedList','-','Outdent','Indent','Blockquote'),  array( 'JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'),  array( 'Table','HorizontalRule','Smiley','SpecialChar'),  array( 'Link','Unlink','Anchor'),'/',  array( 'Styles','Format','Font','FontSize'),  array( 'TextColor', 'BGColor', 'MyPage','Code')  ); 

至此,编辑器的修改已经完成,修改后的syntaxhighlight文件夹文件目录结构图如下图:

  将syntaxhighlight文件夹上传到/include/ckeditor/plugins/文件夹下,打开后台,添加文章试一下,看看编辑器的上最后一行是否出现了如图所示的按钮:

  点击按钮弹出如下图所示的对话框输入代码,并且可以切换到高级选项对代码高亮显示做一些配置:

八、但是光这些还不够,还要在文章模板文件/templets/default/article_article.htm文件里引入高亮显示的笔刷JS文件和CSS文件,由于是需要引入很多JS,所以建议将引入的代码放在</body>标签之前,等待前面的网页加载完后加载,进行显示。  

 

代码如下:

<script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shCore.js"> </script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushJava.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushJScript.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushPhp.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushScala.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushSql.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushVb.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushXml.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushBash.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushCpp.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushCSharp.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/cripts/shBrushCss.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushDelphi.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushDiff.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushGroovy.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushPlain.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushPython.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushRuby.js"></script>  <link type="text/css" rel="stylesheet" href="/include/ckeditor/plugins/syntaxhighlight/styles/shCore.css"/>  <link type="text/css" rel="stylesheet" href="/include/ckeditor/plugins/syntaxhighlight/styles/shThemeDefault.css"/>  <script type="text/javascript">  SyntaxHighlighter.config.clipboardSwf = '/include/ckeditor/plugins/syntaxhighlight/scripts/clipboard.swf';  SyntaxHighlighter.all();  </script> 

最后发表并生成的文章页面效果图如下:

 

  当然,该整合也有点缺点,就是在html页面页面中可能会引入大量的JS文件,加载起来可能会比较慢,另外可拓展性不强,我也会不定期优化该插件,也希望各位网友能提出意见。

");  }  });  // alert('dedepage!');  // Register the toolbar button.  editor.ui.addButton( 'MyPage',  {  label : '插入分页符',  command : 'dedepage',  icon: 'images/dedepage.gif'  });  // alert(editor.name);  },  requires : [ 'fakeobjects' ],  requires : ['syntaxhighlight']  });  })();  [/code]  七、修改/include/ckeditor/ckeditor.inc.php文件,在$toolbar['Basic']数组的最后一行添加元素Code,修改后代码如下:   

 

代码如下:

$toolbar['Basic'] = array(  array( 'Source','-','Templates'),  array( 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Print'),  array( 'Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'),  array( 'ShowBlocks'),array('Image','Flash'),array('Maximize'),'/',  array( 'Bold','Italic','Underline','Strike','-'),  array( 'NumberedList','BulletedList','-','Outdent','Indent','Blockquote'),  array( 'JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'),  array( 'Table','HorizontalRule','Smiley','SpecialChar'),  array( 'Link','Unlink','Anchor'),'/',  array( 'Styles','Format','Font','FontSize'),  array( 'TextColor', 'BGColor', 'MyPage','Code')  ); 

至此,编辑器的修改已经完成,修改后的syntaxhighlight文件夹文件目录结构图如下图:

  将syntaxhighlight文件夹上传到/include/ckeditor/plugins/文件夹下,打开后台,添加文章试一下,看看编辑器的上最后一行是否出现了如图所示的按钮:

  点击按钮弹出如下图所示的对话框输入代码,并且可以切换到高级选项对代码高亮显示做一些配置:

八、但是光这些还不够,还要在文章模板文件/templets/default/article_article.htm文件里引入高亮显示的笔刷JS文件和CSS文件,由于是需要引入很多JS,所以建议将引入的代码放在</body>标签之前,等待前面的网页加载完后加载,进行显示。  

 

代码如下:

<script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shCore.js"> </script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushJava.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushJScript.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushPhp.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushScala.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushSql.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushVb.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushXml.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushBash.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushCpp.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushCSharp.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/cripts/shBrushCss.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushDelphi.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushDiff.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushGroovy.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushPlain.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushPython.js"></script>  <script type="text/javascript" src="/include/ckeditor/plugins/syntaxhighlight/scripts/shBrushRuby.js"></script>  <link type="text/css" rel="stylesheet" href="/include/ckeditor/plugins/syntaxhighlight/styles/shCore.css"/>  <link type="text/css" rel="stylesheet" href="/include/ckeditor/plugins/syntaxhighlight/styles/shThemeDefault.css"/>  <script type="text/javascript">  SyntaxHighlighter.config.clipboardSwf = '/include/ckeditor/plugins/syntaxhighlight/scripts/clipboard.swf';  SyntaxHighlighter.all();  </script> 

最后发表并生成的文章页面效果图如下:

 

  当然,该整合也有点缺点,就是在html页面页面中可能会引入大量的JS文件,加载起来可能会比较慢,另外可拓展性不强,我也会不定期优化该插件,也希望各位网友能提出意见。

查看更多关于DedeCms 5.7 代码高亮实现方法的详细内容...

  阅读:46次