今天公司叫架設一個內部使用的知識庫,據說是有利于業務組的同志溝通。具體做什么的咱也不知道 咱也不敢問!于是乎直接想到了以前看到過的dokuwiki比較符合業務場景,擼起袖子開干;直接在公司群暉NAS上下載了dokuwiki自動架設(當然你也可以網上下載自己配置到服務器),具體安裝過程這里不贅述了!點進來的都不是沖著安裝過程來的!
裝好以后就發現幾個問題必須要解決才能用
- 界面太丑,需要換個皮膚
- 沒有側邊菜單欄,得想辦法解決
- 編輯器真心無法使用,連基本的粘貼圖片都沒有(還是比較心儀ueditor啊)
接下來就逐個解決咯
一. 界面太丑,需要換個皮膚
這個好辦,直接到擴展管理器下一套模板即可,具體操作如下
1. 菜單點擊管理
2. 點擊“擴展管理器”,進入擴展管理
3. 點擊“搜索和安裝”頁簽,搜索擴展輸入 Template 點擊搜索,我選擇的Bootstrap3這套
進都進來了順便裝一下要用的擴展“ACL Manager”和“Add New Page”
(注意這里的搜索和安裝最好是在“科學上網”的環境下進行,不然失敗的可能性極大)
4. 成功安裝好模板后點擊管理界面的“配置設置”進入配置界面
5. template選項選擇bootstrap3 點擊保存 即可使皮膚生效啦
二. 沒有側邊菜單欄,得想辦法解決
直接編輯側邊欄頁的代碼如下
{{indexmenu>..#1|js navbar nocookie}}
保存退出即可看到側邊菜單了
三. 更換編輯器 重點
1、下載ueditor到本地先,網上找了下官網 居然官網都沒有了啊,桑心!~ 全部都整到github去了,直接下載發布最新版本1.4.3.3
2、 在dokuwiki的lib文件夾下面新建“ueditor”文件夾,把解壓好的文件丟進去。接下來就要開始修改文件啦
3、找到inc/form.php里面的form_wikitext($attrs)方法大概在793行
// 原來是這個樣子滴
function form_wikitext($attrs) {
// mandatory attributes
unset($attrs['name']);
unset($attrs['id']);
return '<textarea name="wikitext" id="wiki__text" dir="auto" '
.buildAttributes($attrs,true).'>'.DOKU_LF
.formText($attrs['_text'])
.'</textarea>';
}
// 改成
function form_wikitext($attrs) {
// mandatory attributes
unset($attrs['name']);
unset($attrs['id']);
return '<script name="wikitext" id="container" style="height: 450px" type="text/plain">'.$attrs['_text'].'</script>';
}
4、添加ueditor的js文件 路徑為:/lib/tpl/你的模板名稱(我的這里是bootstrap3)/main.php
// 直接在</body>前面加
<!-- 配置文件 -->
<script type="text/javascript" src="<?php echo DOKU_BASE;?>lib/ueditor/ueditor.config.js"></script>
<!-- 編輯器源碼文件 -->
<script type="text/javascript" src="<?php echo DOKU_BASE;?>lib/ueditor/ueditor.all.js"></script>
<!-- 實例化編輯器 -->
<script type="text/javascript">
var ue = UE.getEditor('container');
</script>
5、去掉原來html字符串過濾,路徑為/inc/parser/xhtml.php找到cdata($text)方法,大約在286行左右
function cdata($text) {
$this->doc .= $this->_xmlEntities($text);
}
改成
function cdata($text) {
$this->doc .= $text;
}
到這里就可以愉快的使用ueditor了。
至于其他的一些配置 隨緣啦~還要什么自行車~~