立即注冊 找回密碼

QQ登錄

只需一步,快速開始

查看: 11173|回復: 6
打印 上一主題 下一主題

[美化修改教程] Discuz x3日志門戶編輯器增加插入代碼功能且代碼高亮

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2015-1-27 16:44:59 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
道勤網(wǎng)-數(shù)據(jù)bmrsportswear.com

親注冊登錄道勤網(wǎng)-可以查看更多帖子內(nèi)容哦!(包涵精彩圖片、文字詳情等)請您及時注冊登錄-bmrsportswear.com

您需要 登錄 才可以下載或查看,沒有賬號?立即注冊

x
由于道勤小編發(fā)布的文章經(jīng)常需要插入代碼,而discuz的日志及門戶編輯器都沒有代碼插入功能,于是決心修改一下discuz的日志及門戶編輯器在百度也有類似的解決辦法,但是只適合老版本的 x1.5 x2.0 Jimmy按照最新discuz官方的程序修改。
修改效果展示圖,具體演示可參見本站
門戶編輯器插入代碼




效果圖:

一、修改說明
修改目的:給日志及門戶編輯器添加代碼插入功能并實現(xiàn)代碼高亮
對應(yīng)版本:Discuz X系列根據(jù)以下修改說明自行修改
支持當前流行的各種編程語言:C#、CSS、C++、Delphi、Java、JavaScript、PHP、Python、Ruby、SQL、Visual Basic、XML / html
簡介: Discuz X日志及門戶編輯器整合syntaxhighlighter實現(xiàn)代碼高亮,給Discuz X日志及門戶編輯器添加代碼插入功能,方便文章插入代碼
二、所需修改文件:

根目錄\source\module\home\home_editor.php
根目錄\source\language\home\lang_editor.php
根目錄\static\image\editor\editor_base.js
三、修改步驟:
1、修改\source\module\home\home_editor.php文件

查找:

  1. a.icoSwitchMdi{background-position:-671px 0px;width:23px}
復制代碼

在其下插入:

  1. a.icoCode {background-position:-120px -20px}
復制代碼

然后再查找

  1. <a href="javascript:;" class="icoSwf" id="icoSwf" onClick="createFlash(event, 1);return false;" title="<?php echo lang('home/editor', 'editor_link_flash');?>"></a>
復制代碼

在其下插入:

  1. <a href="javascript:;" class="icoCode" id="icoCode" onClick="createCode(event,1);return false;" title="<?php echo lang('home/editor', 'editor_code');?>"></a>
復制代碼

接著還是繼續(xù)查找

  1. <div id="createPage" class="eMenu" style="display:none;top:35px;left:26px;width:300px;font-size:12px">
復制代碼

其上插入

  1. <div id="createCode" class="eMenu" style="display:none;top:35px;left:26px;width:400px;font-size:12px">
  2. <?php echo lang('home/editor', 'editor_code_tip');?>:
  3. <select name="codeLanguage" id="codeLanguage">
  4. <option value="php">PHP</option>
  5. <option value="py">Python</option>
  6. <option value="sql">SQL</option>
  7. <option value="vb">Visual Basic</option>
  8. <option value="xml">Html/XML</option>
  9. <option value="as3">ActionScript3</option>
  10. <option value="bash">Bash/shell</option>
  11. <option value="csharp">C#</option>
  12. <option value="css">CSS</option>
  13. <option value="js">JavaScript</option>
  14. <option value="java">Java</option>
  15. <option value="perl">Perl</option>
  16. </select><br/>
  17. <textarea type="text" id="Sourcecode" name="Sourcecode" value=" " style="width:400px;height:200;" /></textarea><br/>
  18. <input type="button" onClick="createCode();" name="createURL" value="<?php echo lang('home/editor', 'editor_ok');?>" class="submit" />
  19. <a href="javascript:;" onClick="fHide($('createCode'));return false;"><?php echo lang('home/editor', 'editor_cancel');?></a>
  20. </div>
復制代碼

接著為了實現(xiàn)代碼預覽效果,我們還需在文件最下面找到

  1. body { margin: 0; padding: 0; word-wrap: break-word; font-size:14px; line-height:1.8em; font-family: Tahoma, Arial, Helvetica, snas-serif; }
復制代碼

在下面加入這段定義pre標簽的CSS代碼

  1. pre {
  2. font-size:9pt;
  3. font-family:Courier New,Arial;
  4. border:1px solid #ddd;
  5. border-left:5px solid #6CE26C;
  6. background:#f6f6f6;
  7. padding:5px;
  8. }
復制代碼
不然你是看不到“預覽”效果的。


2、修改\source\language\home\lang_editor.php文件(目的是添加所需語言)
查找

  1. 'editor_prompt_mp3' => 'mp3 音樂',
復制代碼

在其下加上

  1. 'editor_code_tip' => '請選擇代碼語言以便于著色',
  2. 'editor_code' => '插入代碼',
復制代碼

3、修改\static\image\editor\editor_base.js文件
用編輯器打開該文件,在文件末尾加上

  1. /**
  2. *創(chuàng)建代碼高亮及著色方法
  3. *Time 2013.10.16 Jimmy
  4. */
  5. function createCode(e, show) {
  6. if(typeof show == 'undefined') {
  7. var sCode = $('Sourcecode').value;
  8. var sLan = $('codeLanguage').value;
  9. sCode = sCode.replace(/\</g,"<");
  10. if (sCode!=null){
  11. setCaret();
  12. format("insertHTML", '<div><h3>[代碼]'+sLan+'代碼:</h3><pre class="brush:'+sLan+';auto-links:false;">'+sCode+'</pre></div> <br/>');
  13. }
  14. fHide($('createCode'));
  15. $('Sourcecode').value = ''; //設(shè)置初始值
  16. } else {
  17. if(gIsIE){
  18. var e = window.event;
  19. }
  20. getCaret();
  21. var dvCodeBox = $("createCode");
  22. var iX = e.clientX;
  23. var iY = e.clientY;
  24. dvImgBox.style.display = "";
  25. dvImgBox.style.left = (iX-300) + "px";
  26. dvImgBox.style.top = 33 + "px";
  27. }
  28. }
復制代碼

然后查找

  1. if(fInObj(el, "createUrl") || fInObj(el, "createImg") || fInObj(el, "createSwf") || fInObj(el, "createPage")){
復制代碼

將這段代碼改成

  1. if(fInObj(el, "createUrl") || fInObj(el, "createImg") || fInObj(el, "createSwf") || fInObj(el, "createPage")|| fInObj(el, "createCode")){
復制代碼

即在上面的代碼中加上|| fInObj(el, "createCode")

接著繼續(xù)查找

  1. icoPage:"createPage"
復制代碼

將其改成

  1. icoPage:"createPage",
  2. icoCode:"createCode"
復制代碼

這段代碼

以上還沒完,,還有一段重要代碼(關(guān)于編輯器菜單的)
查找

  1. var arr = ["fontface", "fontsize", "dvForeColor", "dvPortrait", "divAlign", "divList" ,"divInOut", "editFaceBox", "createUrl", "createImg", "createSwf", "createPage"];
復制代碼

將其改為

  1. var arr = ["fontface", "fontsize", "dvForeColor", "dvPortrait", "divAlign", "divList" ,"divInOut", "editFaceBox", "createUrl", "createImg", "createSwf", "createPage","creatCode"];
復制代碼

至此文件修改工作就結(jié)束了.

4、上傳并替換文件
上傳以上修改文件至對應(yīng)目錄,并上傳下面的附件包文件(syntaxhighlighter代碼高亮解析文件)至網(wǎng)站根目錄,最后不要忘了到后臺—》全局—》其他—》其他頭部信息添加下面這段代碼

  1. <script src="static/js/code/scripts/brush.js" type="text/javascript"></script>
  2. <link type="text/css" rel="stylesheet" href="static/js/code/styles/shCore.css"/>
  3. <link type="text/css" rel="stylesheet" href="static/js/code/styles/shThemeDefault.css"/>
  4. <script type="text/javascript">
  5. SyntaxHighlighter.config.clipboardSwf = 'static/js/code//scripts/clipboard.swf';
  6. SyntaxHighlighter.all();
  7. </script>
復制代碼

否則是不會有代碼高亮效果的注意你文件保存的目錄。
以下是syntaxhighlighter代碼高亮解析文件

syntaxhighlighter代碼高亮解析文件.zip (58.28 KB, 下載次數(shù): 97)



道勤主機提供365天*24小時全年全天無休、實時在線、零等待的售后技術(shù)支持。竭力為您免費處理您在使用道勤主機過程中所遇到的一切問題! 如果您是道勤主機用戶,那么您可以通過QQ【792472177】、售后QQ【59133755】、旺旺【詮釋意念】、微信:q792472177免費電話、后臺提交工單這些方式聯(lián)系道勤主機客服! 如果您不是我們的客戶也沒問題,點擊頁面最右邊的企業(yè)QQ在線咨詢圖標聯(lián)系我們并購買后,我們?yōu)槟赓M進行無縫搬家服務(wù),讓您享受網(wǎng)站零訪問延遲的遷移到道勤主機的服務(wù)!
本內(nèi)容系 道勤團隊 bmrsportswear.com 客服與技術(shù)人員研究整理的智慧結(jié)晶,轉(zhuǎn)載勿用于商業(yè)用途,并保留本文鏈接,侵權(quán)必究!
dsu_marcocopyright:copy_link 

【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程!【道勤網(wǎng)】 - 論壇版權(quán)1、本主題所有言論和圖片純屬會員個人意見,與本論壇立場無關(guān)
2、本站所有主題由該帖子作者發(fā)表,該帖子作者與【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程!【道勤網(wǎng)】享有帖子相關(guān)版權(quán)
3、其他單位或個人使用、轉(zhuǎn)載或引用本文時必須同時征得該帖子作者和【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程!【道勤網(wǎng)】的同意
4、帖子作者須承擔一切因本文發(fā)表而直接或間接導致的民事或刑事法律責任
5、本帖部分內(nèi)容轉(zhuǎn)載自其它媒體,但并不代表本站贊同其觀點和對其真實性負責
6、如本帖侵犯到任何版權(quán)問題,請立即告知本站,本站將及時予與刪除并致以最深的歉意
7、【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程!【道勤網(wǎng)】管理員和版主有權(quán)不事先通知發(fā)貼者而刪除本文

沙發(fā)
發(fā)表于 2015-4-7 13:16:08 | 只看該作者
道勤網(wǎng)-數(shù)據(jù)bmrsportswear.com
renzi2146 發(fā)表于 2015-4-3 14:11
水水水水水水水水水水水水水水水水水水水水水

你在發(fā)一個這樣的試試,直接封號
板凳
發(fā)表于 2015-4-10 13:34:32 | 只看該作者
道勤網(wǎng)-數(shù)據(jù)bmrsportswear.com
renzi2146 發(fā)表于 2015-4-10 11:22
好兇啊 想混點經(jīng)驗而已嘛

baby我是逗你玩的,思密達

0

主題

1

回帖

7

積分

普通學員

Rank: 1

積分
7
地板
發(fā)表于 2017-1-12 16:35:36 | 只看該作者
道勤網(wǎng)-數(shù)據(jù)bmrsportswear.com
好像不行耶!完全照著做了,還是不行,能加你QQ嗎?我太需要門戶里插代碼了,我的是:752952009

點評

加下客服的qq792472177  詳情 回復 發(fā)表于 2018-8-5 19:26
5#
 樓主| 發(fā)表于 2018-8-5 19:26:08 | 只看該作者
道勤網(wǎng)-數(shù)據(jù)bmrsportswear.com
xuyuanfan77 發(fā)表于 2017-1-12 16:35
好像不行耶!完全照著做了,還是不行,能加你QQ嗎?我太需要門戶里插代碼了,我的是:752952009

加下客服的qq792472177
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)閉

道勤網(wǎng)- 推薦內(nèi)容!上一條 /2 下一條

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回復 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

關(guān)于我們|手機版|小黑屋|地圖|【道勤網(wǎng)】-bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程【道勤網(wǎng)】 ( 皖I(lǐng)CP備15000319號-1 )

GMT+8, 2024-10-23 07:36

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

快速回復 返回頂部 返回列表