前言 : 

會需要增加行距這東西是使用者要求的,據說好像是有行距比較有fu

但這個問題足足困擾了我1.1天,因為網路上看到的解決方案都騙人的啊!!!

而且天下文章一大抄,對岸找到的一堆解決方案根本都一模一樣

連前言都給人家摳過去真是不要臉

 

我要做到的功能如下圖,可以讓user 編輯文章的 line-height

Clipboard03

但是新版的Ckeditor 已經沒有行距功能了

官網的 pulgin 也都找不到 ><

所以我就拜google大神了,找到一堆一樣內容的文章....

主要就是要下載一個別人寫好的 plugin

然後在config.js裡面增加一行

config.extraPlugins += (config.extraPlugins ? ',lineheight' : 'lineheight');

然後工具控制項目中增加一個 lineheight 就自動出現了

但是我試了並沒有出現

後來找到了原因,是因為那個別人寫好的 plugin 需要依靠舊版的 styles  plugin

所以必須要再修改那隻 plugin 的內容,把相依到舊版plugin的地方拿掉

=========================================

以上都可以不用看了,都是辛酸的過程.....直接看如何解決這問題好了

=========================================

首先下載這個已經被我改過的 plugin,然後解壓縮

https://dl.dropboxusercontent.com/u/28037914/lineheight.zip

除了修正plugin的錯誤,我還把原本的檔名 zh-cn.js,改成zh-tw.js 了

解壓縮完放到 ckeditor 的 plugin 資料夾裡面

結構如下 : 

Clipboard02  

再來到你程式的地方加上一行

CKEDITOR.config.extraPlugins += (CKEDITOR.config.extraPlugins ? ',lineheight' : 'lineheight');

然後就可以在工具列中新增 lineheight 這個 control 了

以下擷取本人的程式碼片段

==========================================

BookIntro 是我在頁面上 textarea 的 ID,本來藍色那行是要寫在config.js 裡面

但是感覺一直沒正確被引用到,所以就寫在外面了

$(document).ready(function () {

//ckeditor 設定

CKEDITOR.config.extraPlugins += (CKEDITOR.config.extraPlugins ? ',lineheight' : 'lineheight');

var BookIntro = CKEDITOR.replace('BookIntro', {

//如果要使用config.js 來設定的話,就打開下面這行註解,然後把上面藍色那行放到 config.js

//customConfig: 'config.js',

toolbar: [

['Source','NewPage','Preview','Templates','Print'],

['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord'],

['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent'],

['Find', 'Replace', '-', 'SelectAll'],

['Link', 'Unlink', 'Anchor', 'HorizontalRule'],

['Undo', 'Redo', 'TextColor', 'BGColor', 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat'],

['Styles', 'Format', 'Font', 'FontSize', 'lineheight']  // <--- 新增一個 lineheight plugin

], filebrowserUploadUrl: 'include/uploadeditor1.aspx?prodno=',

allowedContent: true

});

BookIntro.config.height = 300;

BookIntro.config.width = 880;

});

然後就可喜可賀....終於看到了行距

 Clipboard02  

 如果你要修改行距 plugin 的級距,可以自己到 plugin.js 中修改

很明顯是改這一行

CKEDITOR.config.lineheight_sizes =

'normal;1.5em;1.75em;2em;3em;4em;5em;100%;120%;130%;150%;170%;180%;190%;200%;220%;250%;300%;400%;500%';

 

arrow
arrow
    全站熱搜

    小雕 發表在 痞客邦 留言(1) 人氣()