91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

akcms升級后臺編輯器完美教程

發布時間:2020-07-21 19:08:51 來源:網絡 閱讀:1390 作者:pockry 欄目:web開發

2013-1-6更新:增加代碼區所見即所得風格,以與正文區分開。效果:

akcms升級后臺編輯器完美教程


被這個折騰兩天了,搞不定這個,連模板都沒心思搞了。。不過現在總算搞定。

 

首先,明白一些東西。

  • akcms后臺的富文本編輯器采用的是xheditor,它的特點就是小,定制性強,最后更新為2012-7-28.
  • akcms的xheidtor隨著版本升級也早就更新到了最新版,也即是xheditor1.1.14版。
  • 插入代碼、google地圖按鈕屬于xheditor的插件,定制版是沒有的。
  • akcms采用的xheditor是經過定制的,也就是說是閹割的。

要搞技術站,文章里必定有代碼,代碼區總得搞好看點,起碼有個代碼高亮什么的,因此義無反顧的走上了折騰后臺編輯器之路。

這里有個教程,也是在網上能找到的唯一的一個教程,這篇文章原理是正確的,但是照著他這去做,效果絕對出不來。

特別是一定不要用他附件里的文件覆蓋!因為一是akcms版本更新非常快,他那個的內核版本已經舊了,你去覆蓋會出嚴重錯誤;二是我發現我的akcms文件是ANSI編碼,而他的文件是unicode無BOM編碼,文件編碼不一致也會導致嚴重錯誤,還會導致插入的中文變成亂碼。

下面給出正確的教程,因為akcms每次升級之后都需要將這個過程重復一遍。

一、下載安裝akcms最新版本,這里假定你的akcms已經高于4.2版;

二、打開"后臺/templates/admincp_moduleitem.htm",找到

  1. <{include file="admincp_header.htm"}> 

在后面加入以下代碼(這里將原教程中的中文改為英文,避免亂碼,并且因為精簡了上傳內容,因此改掉相關路徑):

  1. <style type="text/css"> 
  2. .btnMap { width:50px !important; transparent url(<{$home}>/prettify/googlemap/map.gif) no-repeat center center; } 
  3. .btnCode { transparent url(<{$home}>/prettify/code.gif) no-repeat 16px 16px; background-position:2px 2px; } 
  4. </style> 
  5. <script type="text/javascript"> 
  6. var editor; 
  7. var plugins = { 
  8.     Code: { 
  9.         c: 'btnCode', 
  10.         t: 'Insert Code', 
  11.         h: 1, 
  12.         e: function() { 
  13.             var _this = this; 
  14.             var htmlCode = '<div><select id="xheCodeType"><option value="html">HTML/XML</option><option value="js">Javascript</option><option value="css">CSS</option><option value="php">PHP</option><option value="java">Java</option><option value="py">Python</option><option value="pl">Perl</option><option value="rb">Ruby</option><option value="cs">C#</option><option value="c">C++/C</option><option value="vb">VB/ASP</option><option value="">other</option></select></div><div><textarea id="xheCodeValue" wrap="soft" spellcheck="false" style="width:300px;height:100px;" /></div><div style="text-align:right;"><input type="button" id="xheSave" value="GO" /></div>'
  15.             var jCode = $(htmlCode), 
  16.             jType = $('#xheCodeType', jCode), 
  17.             jValue = $('#xheCodeValue', jCode), 
  18.             jSave = $('#xheSave', jCode); 
  19.             jSave.click(function() { 
  20.                 _this.loadBookmark(); 
  21.                 _this.pasteHTML('<pre class="prettyprint lang-' + jType.val() + '">' + _this.domEncode(jValue.val()) + '</pre>'); 
  22.                 _this.hidePanel(); 
  23.                 return false; 
  24.             }); 
  25.             _this.saveBookmark(); 
  26.             _this.showDialog(jCode); 
  27.         } 
  28.     }, 
  29.  
  30.     map: { 
  31.         c: 'btnMap', 
  32.         t: 'Insert GoogleMaps', 
  33.         e: function() { 
  34.             var _this = this; 
  35.             _this.saveBookmark(); 
  36.             _this.showIframeModal('GoogleMaps', '<{$home}>/prettify/googlemap/googlemap.html', 
  37.             function(v) { 
  38.                 _this.loadBookmark(); 
  39.                 _this.pasteHTML('<img src="' + v + '" />'); 
  40.             }, 
  41.             538, 404); 
  42.         } 
  43.     } 
  44. }; 
  45. </script> 
  46. <script language="javascript"> 
  47. function confirmdelete() { 
  48.     if (!confirm('<{$lan.suredelitem}>')) { 
  49.         return false; 
  50.     } else { 
  51.         document.location = "index.php?file=admincp&action=deleteitem&id=<{$id}>&returnlist=1"
  52.     } 
  53. function checksubmit() { 
  54.     if ($('#title').val() == "") { 
  55.         alert("<{$lan.notitle}>"); 
  56.         $('#title').focus(); 
  57.         return false; 
  58.     } 
  59.     if ($('#category').val() == "" || $('#category').val() == 0) { 
  60.         alert("<{$lan.nocategory}>"); 
  61.         $('#category0').focus(); 
  62.         return false; 
  63.     } 
  64.     $('#s').attr("disabled", true); 
  65. function selectcategory(l, c) { 
  66.     if (c == 0) { 
  67.         if (l > 1) $("#category").val($("#category" + (l - 2)).val()); 
  68.     } else { 
  69.         $("#category").val(c); 
  70.     } 
  71.     for (i = l; i < 10; i++) { 
  72.         $("#category" + i).get(0).options.length = 0
  73.     } 
  74.     $("#category" + l).prepend("<option value='0'><{$lan.pleasechoose}></option>"); 
  75.     if (c > 0 || l == 0) { 
  76.         var fileref = document.createElement("script"); 
  77.         fileref.setAttribute("type", "text/javascript"); 
  78.         fileref.setAttribute("src", "index.php?file=admincp&action=selectcategories&up=" + c + "&level=" + l + "&module=<{$moduleid}>&defaultlist=<{$categorylist}>"); 
  79.         document.body.appendChild(fileref); 
  80.     } 
  81. function SetframeHeight(obj) { 
  82.     var iframeid = document.getElementById(obj); 
  83.     if (iframeid.contentDocument && iframeid.contentDocument.body.offsetHeight) { 
  84.         iframeidiframeid.height = iframeid.contentDocument.body.offsetHeight; 
  85.     } else { 
  86.         iframeidiframeid.height = iframeid.Document.body.scrollHeight; 
  87.     } 
  88. </script> 

打開"后臺/include/admin.func.php"搜索:

  1. tools:'Source,Pastetext,|,Blocktag,Fontface,FontSize,Bold,Italic,Underline,Strikethrough,FontColor,BackColor,SelectAll,Removeformat,|,Align,List,Outdent,Indent,|,Link,Unlink,Anchor,Img,Hr,Table',loadCSS:'<style>body{font-size:14px;}

一共三處,替換成:

  1. plugins:plugins,loadCSS:'<style>body{font-size:14px;}pre{margin-left:2em;border-left:3px solid #00a650;padding:0 1em;font-size:12px;}

同樣是因為亂碼問題,所以原教程中插入的表情文字都變成亂碼,也顯示不出來。

這個是顯示xheditor的插件模式,注意:直接在tools后面添加插件Code, Map不會顯示出來,不過Flash和Media是原本就有的,可以顯示。如果只要插入媒體的話,也可以將上面那句替換為:

  1. tools:'Source,Pastetext,|,Blocktag,Fontface,FontSize,Bold,Italic,Underline,Strikethrough,FontColor,BackColor,SelectAll,Removeformat,|,Align,List,Outdent,Indent,|,Link,Unlink,Anchor,Flash,Media,Img,Hr,Table',loadCSS:'<style>body{font-size:14px;}

三、上傳附件根目錄下的prettify文件夾到你的網站根目錄。

四、在你的文章正文模板中<head>和</head>之間插入調用(只需要在會出現代碼的頁面插入):

  1. <link href="<{$home}>/prettify/prettify.css" type=text/css rel=stylesheet /> 
  2. <script type="text/javascript" src="<{$home}>/prettify/prettify.js"></script> 

并且,在文章正文后方插入代碼以使JS生效:

  1. <script type="text/javascript">prettyPrint();</script> 

prettify.css可以自己設置,以使代碼區風格和整站協調。

大概就這個樣子了,prettify代碼高亮是xheditor官方的插件,相關的代碼可以在其提供的demo中找到。

目前還有一個不太滿意的地方:

代碼區不能顯示行數,這會給討論帶來一定的不便,不過也沒找到其他好的兼容xheditor的代碼高亮插件了,這個等將來有機會再折騰。

后臺編輯器的所見即所得,不能即時的顯示代碼區風格,我看了一下想修改后臺,結果akcms后臺竟然用了iframe!而且texteara區域被雙引號包括了起來,外部的風格是如論如何都進不去的,這個只能等后續修改xheditor的風格了,如果成功了也會更新到這個帖子。

附件:http://down.51cto.com/data/2362113
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

久治县| 百色市| 威宁| 广灵县| 沙雅县| 红安县| 石城县| 太谷县| 鄯善县| 钟祥市| 佛坪县| 卓资县| 镇康县| 高雄市| 衢州市| 渑池县| 射洪县| 阜城县| 松江区| 新野县| 中牟县| 武冈市| 分宜县| 晋江市| 祁门县| 时尚| 宁晋县| 林口县| 崇礼县| 吐鲁番市| 库车县| 柳州市| 嵊泗县| 堆龙德庆县| 公主岭市| 南皮县| 普定县| 乐昌市| 盐城市| 中西区| 永定县|