トップ  >  趣味の部屋  >  XOOPSサイト構築  >  FCKeditorとwikiレンダラーの選択環境

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

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

d3forumの場合

d3forum_main_post_form.html
1
2
3
4
5
6
<{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
<{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
<!-- 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
<!-- 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
<{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
<{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;"}>

に変更します。

元ネタ

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

 
プリンタ用画面
投票数:93 平均点:4.73
前
XC2.0のサイトで携帯対応(携帯対応レンダー)
カテゴリートップ
XOOPSサイト構築
次
AU携帯からX2サイトでプロフィール編集できない件のハック

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ