艾若薇雅 :: 技術文章

讓 Koivi 編輯器能預設是啟用的方法


讓 Koivi 編輯器能預設是啟用的方法
在 Xoops 提供的編輯器裡最能所見即所得的就屬 Koivi 編輯器了
之所以大家誤以為他編輯跟顯示的狀態顯示差異太大是因為大家沒有將右下角的 css checkbox 打勾
只要你將 css checkbox 打勾, 那麼它將會直接套用你在 xoops theme 裡設定的 css
顯示是完全百分百的正確, 因為它不是用模擬的方式
用模擬的方式常會受制於當時環境的 "外在 css" 而有所不準...

在 Xoops 提供的編輯器裡最能所見即所得的就屬 Koivi 編輯器了
之所以大家誤以為他編輯跟顯示的狀態顯示差異太大是因為大家沒有將右下角的 css checkbox 打勾(啟用)只要你將 css checkbox 打勾, 那麼它將會直接套用你在 xoops theme 裡設定的 css
顯示是完全百分百的正確, 因為它不是用模擬的方式
用模擬的方式常會受制於當時環境的 "外在 css" 而有所不準

可是, Koivi 編輯器的 css checkbox 預設是不啟用啊, 我們怎麼讓它預設就啟用呢?
對這個問題, 我 hack 了一下它的程式碼
基本上要改二個地方才能使它運作正常,
一個是 [XOOPS_ROOT]\class\xoopseditor\koivi\formkoivi.php 你要將 css checkbox "CHECKED"
這裡的 預設值你可以使用各種方式去啟用, 例如用個變數, 或者 hardcode(寫死),
或者 "更功夫" 的是在 xoops options 裡設定, 然後在這這裡依 xoops options 來決定初始值是否啟用 css
因為所見即所得是我們一定要的目標, 所以這裡不妨直接寫死, 因為是初始值所以並沒有什麼影響



第二個步驟則是你要到 css javascript 裡去改 editor 的 init 碼, 檔案位置如下
[XOOPS_ROOT]\class\xoopseditor\koivi\koivieditor\include\js\editor.js

只要在副程式 XK_init 的最下面插入我們想要的碼即可, 程式碼參考如下


//destroy <p></p> on enter
if(isie)XK_destroyPTag(id);

// avex, if default css is checked
if(document.getElementById("cssEnabled"+id).checked)
XK_AppendCss(id,document.getElementById("cssEnabled"+id).value,"xoopsTheme");

 


接下來, 上傳這二個檔案, 直接在 論壇 或者是用到 Koivi 編輯器的模組試試
看它的 css 是不是在初始時是啟用的(打勾), 然再去點擊 css 測看看它是否可以切換
若都沒問題就大功告成囉 ^^

<< [轉載]MySQL 安裝教學 讓 tadnews 公告時間能由舊到新排列的方法 >>

跟蹤網址
  • 文章地址: http://www.elevior.com/modules/article/view.article.php/c2/26
  • 跟蹤地址: http://www.elevior.com/modules/article/trackback.php/26
API: RSS | RDF | ATOM
Copyright© avex & 艾若薇雅
網友個人意見,不代表本站立場。對於發言內容,由發表者自負責任。