2007年9月26日(水曜日)

FCKeditor on XOOPS を試してみました。

カテゴリー: - Ryuji @ 19時56分03秒

当社の兎本が、d3blogとFCKeditor on XOOPSをいじっていたので、私もちょっとだけFCKeditor on XOOPSを試してみました。

FCKeditor on XOOPS

FCKeditor on XOOPSは、FCKeditorを元にGIJOEさんが、XOOPS用に手を入れられたものです。
XOOPSへの組み込みは、いとも簡単にでき、picoで動作することをまず確認しました。

さて、ここからが実験。
自作したモジュールでFCKeditor on XOOPSが動作するのか?

実験には、つくりかけで放置してあった適当なモジュール(cubsonで作成)を使いました(^^;

まずpicoのソースを参考にして、編集アクションを下記のように修正。


	function executeViewInput(&$render)
	{
        $render->setTemplateName("rblog_story_edit.html");
        $render->setAttribute('actionForm', $this->mActionForm);
        $render->setAttribute('object', $this->mObject);

$fck_name = 'story_body'; $fck_value = $this->mActionForm->get('story_body'); $pico_wysiwyg_header = ' <script type="text/javascript" src="'.XOOPS_URL.'/common/fckeditor/fckeditor.js"></script> <script type="text/javascript"><!-- function fckeditor_exec() { var oFCKeditor = new FCKeditor( "'.$fck_name.'" , "100%" , "500" , "Default" );

oFCKeditor.BasePath = "'.XOOPS_URL.'/common/fckeditor/";

oFCKeditor.ReplaceTextarea(); } // --></script> ' ; $pico_wysiwyg_body = '<textarea id="'.$fck_name.'" name="'.$pico_wysiwygs['name'].'">'.htmlspecialchars($fck_value,ENT_QUOTES).'</textarea><script>fckeditor_exec();</script>' ;

$render->setAttribute('wysiwyg', $pico_wysiwyg_body); $render->setAttribute('xoops_module_header', $pico_wysiwyg_header); }

テンプレートは、xoops_dhtmltareaプラグインを使う代わりに


	<{$wysiwyg}>

と記述するだけ。

たったこれだけで、テキスト入力エリアをFCKeditorに変更することができました。

ただ、ちょっとデフォルトでは、表示されるボタンが多すぎて混乱しそうです。

表示ボタンの設定は、/common/fckeditor/fckconfig.jsで設定できるようなので、ここで不要なボタンは非表示にしてしまえば良さそうです。
fckconfig.jsに下記のようなコードがあるので、いらないものはここから除外するだけでOKのようです。


FCKConfig.ToolbarSets["Default"] = [
	['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
	['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
	['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
	['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
	'/',
	['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
	['OrderedList','UnorderedList','-','Outdent','Indent'],
	['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
	['Link','Unlink','Anchor'],
	['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak','UniversalKey'],
	'/',
	['Style','FontFormat','FontName','FontSize'],
	['TextColor','BGColor'],
	['FitWindow','-','About']
] ;

これが試しにボタンを減らしてみた状態。

と、いうわけで自作モジュールに組み込んだり、既存モジュールの編集画面を置き換えたりするのは、おどろくほど簡単にできそうなことがわかりました。

あとは、どこで使うかですね。。。
管理者用のBLOG投稿画面とか、カスタムブロックの編集画面あたりでしょうかねぇ。。


RSS feed for comments on this post.

  1. はじめまして。

    この記事をみて何とかカスタムブロックの編集画面で
    FCKeditorが利用できないかなと思っています。

    色々とソースを見てみましたが、私の知識ではムリでした。

    FCKeditorで表示されるボタンのカスタマイズはうまく行き
    非常に助かりました。

    現状はpicoで記事を書き、それをコピーしてカスタムブロック
    に貼り付けている状態です。

    できましたら、カスタムブロックでFCKeditorが使える例の
    ヒントを頂ければ幸いです。

    Comment by ヒロ — 2007年11月13日(火曜日) @ 13時52分45秒

  2. FCKeditor on XOOPS をカスタムブロック編集画面に組み込む。」を書きましたので、もしよければご覧くださいね。

    Comment by Ryuji — 2007年11月17日(土曜日) @ 22時43分14秒

  3. 記事の方をしっかり読んで実行してみます。

    ありがとうございます!

    Comment by ヒロ — 2007年11月19日(月曜日) @ 10時02分59秒

Ȥ

ʤߥȤդ뤳ȤϽޤ

10 queries. 0.014 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.