整合 MediaWiki 與 FCKeditor
MediaWiki 與 FCKeditor 在 Wiki 與 WYSIWYG editor 領域各佔有一片天,因此 FCKeditor 也為了 MediaWiki 特地發展出一個專用的整合套件及專屬指引網頁。
安裝方式蠻簡單,步驟如下:
1. 下載 FCKeditor extension
2. 解壓縮後,將之置於 MediaWiki 安裝目錄的 extensions 目錄下(就是將 FCKeditor 整個資料夾丟到 extensions 目錄)
3. 將下列述敘加入 LocalSettings.php 檔案內(直接放置於最後即可)
require_once $IP . "/extensions/FCKeditor/FCKeditor.php";
4. 修改 includes/EditPage.php 檔案(此修改係為了讓預覽功能正常)
尋找 function getPreviewText() 進行下列修改
Before:
1 | global $wgOut, $wgUser, $wgTitle, $wgParser; |
After:
1 | global $wgOut, $wgUser, $wgTitle, $wgParser, $wgRequest; |
Before:
1 2 3 | wfProfileIn( $fname ); if ( $this->mTriedSave && !$this->mTokenOk ) { |
After:
1 2 3 4 5 6 7 8 | wfProfileIn( $fname ); if ($wgUser->getOption( 'showtoolbar' ) && !$wgUser->getOption( 'riched_disable' )) { $oldTextBox1 = $this->textbox1; $this->importFormData( $wgRequest ); } if ( $this->mTriedSave && !$this->mTokenOk ) { |
Before:
1 2 | wfProfileOut( $fname ); return $previewhead . $previewHTML; |
After:
1 2 3 4 5 6 | if ($wgUser->getOption( 'showtoolbar' ) && !$wgUser->getOption( 'riched_disable' )) { $this->textbox1 = $oldTextBox1; } wfProfileOut( $fname ); return $previewhead . $previewHTML; |
5. 修改 includes\specials\SpecialPreferences.php 檔案,此修改為選擇性的,非必要。此修改主要是在『我的參數設置 (my preferences)』選單裡增加獨立的『Rich Editor』設定頁,若不做此修改,FCKeditor 的相關設定會放置於『雜項(Misc)』設定頁。
尋找 function mainPrefsForm( $status , $message = ” ) 進行下列修改
Before:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | global $wgLivePreview; $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'textboxsize' ) . '</legend> <div>' . wfInputLabel( wfMsg( 'rows' ), 'wpRows', 'wpRows', 3, $this->mRows ) . ' ' . wfInputLabel( wfMsg( 'columns' ), 'wpCols', 'wpCols', 3, $this->mCols ) . "</div>" . $this->getToggles( array( 'editsection', 'editsectiononrightclick', 'editondblclick', 'editwidth', 'showtoolbar', 'previewonfirst', 'previewontop', 'minordefault', 'externaleditor', 'externaldiff', $wgLivePreview ? 'uselivepreview' : false, 'forceeditsummary', ) ) . '</fieldset>' ); |
After:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | global $wgLivePreview; $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'textboxsize' ) . '</legend> <div>' . wfInputLabel( wfMsg( 'rows' ), 'wpRows', 'wpRows', 3, $this->mRows ) . ' ' . wfInputLabel( wfMsg( 'columns' ), 'wpCols', 'wpCols', 3, $this->mCols ) . "</div>" . $this->getToggles( array( 'editsection', 'editsectiononrightclick', 'editondblclick', 'editwidth', 'showtoolbar', 'riched_disable', //add new tab (Rich Editor) 'previewonfirst', 'previewontop', 'minordefault', 'externaleditor', 'externaldiff', $wgLivePreview ? 'uselivepreview' : false, 'forceeditsummary', ) ) . '</fieldset>' ); # FCKeditor # load FCKeditor settings into separate tab if (!$wgUser->getOption( 'riched_disable' )) { $wgOut->addHTML( '<fieldset><legend>' . wfMsg( 'textrichditor' ) . '</legend>' . $this->getToggles( FCKeditor::$nsToggles ) . '</fieldset>' ); } |
發表於:2008年10月22日 18:14 1. 作者:鐵樹
樓主太感謝你了!!
找了許多個網站,終於給我找到一個看的懂的
謝謝!
發表於:2008年11月28日 11:15 2. 作者:小莊
SpecialPreferences.php的路徑是在 includes \specials\ SpecialPreferences.php, 而不是 includes\SpecialPreferences.php
發表於:2009年01月05日 17:02 3. 作者:ac12zz
大感激!!!
小弟的Wiki終於有個好用的編輯介面了!!
感謝格主教學
發表於:2009年01月06日 0:53 4. 作者:落腳齋主人
小莊, 感謝指正, 已做了修改!
發表於:2009年03月16日 0:48 5. 作者:Jotter For Aone » Blog Archive » MediaWiki更新公告—-V1.14
[...] 之后参考”使预览生效“的教程即可基本完成安装设置.当然,这并非完全的教程,有时间我会更好的整理 一份自己满意的教程的啦. [...]