2013-07-25 32 views
1

我第一次使用CKEditor並嘗試做一些我認爲會很簡單的事情,但到目前爲止我沒有成功。CKEditor - 將皮膚文件夾移動到其他地方

本質上我想將editor.js,config.js和styles.js放在腳本文件夾中,但希望包含css和圖像的「外殼」文件夾出現在單獨的「樣式」文件夾中。

該應用程序由一個簡單的視圖組成,該視圖在加載時顯示編輯器。

顯示編輯器的代碼是一個如下:

angular.element(document).ready(function() { 
    CKEDITOR.config.contentsCss = '/Styles/CKEditor/'; 
    CKEDITOR.replace('editor'); 
}); 

我的視圖中的HTML如下:

@section scripts 
{ 
    <script src="~/Scripts/ckeditor.js" type="text/javascript"></script> 
    <script src="~/Scripts/angular.js"></script> 
    <script src="~/Scripts/Main.js" type="text/javascript"></script> 
} 

<h2>Index</h2> 

<textarea id="editor" name="editor"></textarea> 

這是MVC應用程序和腳本在端呈現在佈局視圖內的身體。

編輯器不會在任何瀏覽器中顯示。據我瞭解,設置contentsCss屬性應該可以做到。

如果我把皮膚放在我的腳本文件夾下面,它工作正常。我可以在生成的源代碼中看到它正在添加指向/ Scripts/Skins/moono ...的標題的鏈接,但我希望它添加對/ Styles/Skins/moono的引用...

是我正在努力做到的,如果是的話,我在這裏想念什麼?我期待這很簡單。

作爲一項解決方案,我可以添加一些路由規則,將相關請求重定向到不同的位置,但我寧願在執行此操作之前先查看問題的底部。

進一步的信息:

  • 我的應用程序是一個ASP.net 4.5/MVC 4應用程序。
  • 我引用的角度,因爲我將使用,一旦我已經排序此問題。我試圖刪除所有引用角度,但問題仍然存在。
  • 我試着用以下方法設置contentsCss屬性:
    • 直接使用CKEDITOR.config.contentsCss
    • 在config.js文件。該示例將一個匿名函數分配給CKEDITOR.editorConfig,並且在那裏您可以操作congif條目。
    • 在調用CKEditor對象的「替換」方法時傳遞一個配置參數。
    • 我試過在調用替換之前和之後操縱contentsCss屬性。
  • 我使用的是最新版本的CKEditor(4.2)

回答

4

感謝@Richard Deeming,我找到了答案。

我使用的是默認moono風格,所以我需要設置CKEDITOR.config.skin屬性如下:

CKEDITOR.config.skin = 'moono,/Styles/CKEditor/Skins/moono/' 

我的最終代碼現在看起來像這樣:

angular.element(document).ready(function() { 
    CKEDITOR.config.skin = 'moono,/Styles/CKEditor/Skins/moono/'; 
    CKEDITOR.replace('editor'); 
}); 

你必須將url設置爲包含皮膚本身的實際文件夾(我認爲CKEditor可能會附加皮膚/ mooono本身,但它不會)。

我還發現你必須在URL中包含最後的'/'。

3

望着the documentation的,你需要指定路徑作爲皮膚名稱的一部分:

CKEDITOR.skinName = 'CKeditor,/Styles/CKeditor/'; 
+0

嗨,理查德。謝謝你的迴應。我已經嘗試過,但是你的回答促使我再次嘗試,並將我引導至我將在一分鐘後發佈的答案。 – Kenspeckle

相關問題