[xoops] FCKeditorとwikiレンダラーの選択環境


投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/5/31 11:28
なーお  長老   投稿数: 1744

XCL2.1でメインで運用しているサイト群に、FCKeditor(wysiwygエディタ)を導入。 ログインユーザーはHTML許可とし、d3forumとd3blogで使用可能としました。

この際、xpWikiレンダリング処理との選択が行えるようにするため、テンプレートに手を入れています。

d3forumの場合

d3forum_main_post_form.html
1
2
3
4
5
6
7
<{if $body_wysiwyg}>
	<{$body_wysiwyg}>
<{else}>
	<input type="checkbox" id="message_bbcode_onoff" onclick="if(this.checked){xoopsGetElementById('message_bbcode_buttons_pre').style.display='block';xoopsGetElementById('message_bbcode_buttons_post').style.display='block'}else{xoopsGetElementById('message_bbcode_buttons_pre').style.display='none';xoopsGetElementById('message_bbcode_buttons_post').style.display='none'};" /><label for="message_bbcode_onoff"><{$smarty.const._MD_D3FORUM_LABEL_INPUTHELPER}></label>
 	<br />
 	<{xoopsdhtmltarea name="message" cols="60" rows="15" value=$message pre_style="display:none;" post_style="display:none;"}>
	<{/if}>

 これを、 ↓ のように変更

1
2
3
4
5
6
<{if $body_wysiwyg && $xoops_isuser}>
	<input type="button" class="formButton" value="FCKeditor" name="contentman_preview"  onclick='fckeditor_exec("100%", "350", "<{$xoops_url}>");' />
<{/if}>
	<input type="checkbox" id="message_bbcode_onoff" onclick="if(this.checked){xoopsGetElementById('message_bbcode_buttons_pre').style.display='block';xoopsGetElementById('message_bbcode_buttons_post').style.display='block'}else{xoopsGetElementById('message_bbcode_buttons_pre').style.display='none';xoopsGetElementById('message_bbcode_buttons_post').style.display='none'};" /><label for="message_bbcode_onoff"><{$smarty.const._MD_D3FORUM_LABEL_INPUTHELPER}></label>
	<br />
	<{xoopsdhtmltarea name="message" cols="60" rows="15" value=$message pre_style="display:none;" post_style="display:none;"}>

 これで、

    1. d3forumの管理者設定で「HTMLを有効」にして、「common/FCKeditor」を選択すると、ログインユーザーのみに「FCKeditor」というボタンが現れ、これを押すとテキストエリアにエディタがロードされて使用可能になります。
    2. また、「HTMLを許可」にするとHTML使用可、不許可でwikiレンダリングが有効になります。

また、ゲストに強制的にHTML無効にするには、

1
2
3
4
5
<!-- html -->
<{if $allow_html}>
	<input type="checkbox" name="html" id="html" value="1" <{$html_checked}> /><label for="html"><{$smarty.const._MD_D3FORUM_ENABLEHTML}></label>
<br />
<{/if}>

の部分も 下記のように変更します。

1
2
3
4
5
<!-- html -->
<{if $allow_html && $xoops_isuser}>
	<input type="checkbox" name="html" id="html" value="1" <{$html_checked}> /><label for="html"><{$smarty.const._MD_D3FORUM_ENABLEHTML}></label>
<br />
<{/if}>

d3blog

dblog1_main_submit.html
1
2
3
4
5
6
7
<{if $moduleConfig.wysiwyg_editor && $currentUser.user_perm.allow_html}>
	<textarea id="contents" name="contents"><{$entry.contents4edit}></textarea><script>fckeditor_exec("100%", "350", "<{$xoops_url}>");</script><br />
<{else}>
 <div><input type="checkbox" id="switch_bbcode" onclick="if(this.checked){document.getElementById('contents_bbcode_buttons_pre').style.display='block';document.getElementById('contents_bbcode_buttons_post').style.display='block'}else{document.getElementById('contents_bbcode_buttons_pre').style.display='none';document.getElementById('contents_bbcode_buttons_post').style.display='none'};" />
<label for="switch_bbcode"><{$smarty.const._MD_D3BLOG_LANG_DISPLAY_XCODE_PALLET}></label></div>
 <{xoopsdhtmltarea name=contents cols=65 rows=10 value=$entry.contents4edit pre_style="display:none;" post_style="display:none;"}>
<{/if}>

 これを、 ↓ のように変更

1
2
3
4
5
6
<{if $moduleConfig.wysiwyg_editor && $currentUser.user_perm.allow_html}>
	<input type="button" class="formButton" value="FCKeditor" name="contentman_preview"  onclick='fckeditor_exec("100%", "350", "<{$xoops_url}>");' />
<{/if}>
<div><input type="checkbox" id="switch_bbcode" onclick="if(this.checked){document.getElementById('contents_bbcode_buttons_pre').style.display='block';document.getElementById('contents_bbcode_buttons_post').style.display='block'}else{document.getElementById('contents_bbcode_buttons_pre').style.display='none';document.getElementById('contents_bbcode_buttons_post').style.display='none'};" />
<label for="switch_bbcode"><{$smarty.const._MD_D3BLOG_LANG_DISPLAY_XCODE_PALLET}></label></div>
<{xoopsdhtmltarea name=contents cols=65 rows=10 value=$entry.contents4edit pre_style="display:none;" post_style="display:none;"}>

に変更します。

投票数:0 平均点:0.00
返信する

このトピックに投稿する

題名
ゲスト名
投稿本文
  条件検索へ