ページの先頭です。本文を読み飛ばして、このサイトのメニューなどを読む
|
ここまでがこのページの内容です。ここからはサイトの共通メニューなどです。 メインメニューログインサイト内検索お問い合わせ
|
サイト内の現在位置です: 14.d3forum ~Tips編~コメント統合でゲストにもコメント投稿させたいコメント統合してゲストにもコメント投稿を許可する場合は、そのコメント統合元モジュールではなくて、d3forum側で権限設定を行う(考えてみれば当たり前の話なんだけど、最初これが分からなくて苦労することもあるだろう。俺もそうだった)。 ここでゲストに「閲覧権限」と「投稿権限」を与えておく。「承認不要」も設定しておくと投稿が即座に表示されるようになる。 「新しくコメントをつける」フォームを隠したいコメント統合すると「新しくコメントをつける」フォームが常時表示されるようになるが、これがちょっとうざったいなと感じる場合はテンプレートをいじって隠すことができる。 一番最初が次のようになっているだろう。 <!-- comment input form -->
<h2 class="head"><{$h2_title|default:$smarty.const._MD_D3FORUM_POSTASCOMMENTTOP}></h2>これを次のように直す。 <!-- comment input form -->
<div id="d3f_commentpost">
<a href="JavaScript:changeDisplay('commentpostform');"><{$h2_title|default:$smarty.const._MD_D3FORUM_POSTASCOMMENTTOP}></a>
</div>次にコメント投稿フォーム(<form>から</form>まで)を新たに<div>で覆っておく。 <div id="commentpostform" style="display:none;">
<form name="postform" id="postform" action="<{$mod_url}>/index.php?page=post" method="post" onsubmit="return xoopsFormValidate_postform();">
:
:
:
</form>
</div>この時、divのスタイルが「style="display:none;"」になっているのがミソ。あと、changeDisplayはXOOPS共通のJavaScriptメソッドなので手間を考えて使っているが、再度リンクを押されたときにフォームを隠すようになってはいない(「change」っていうぐらいだからスイッチになっていてもよさそうな気がするが)。どうしても気になる場合は、XOOPS_ROOT_PATH/include/xoops.jsのchangeDisplayを、 if (elestyle.display == "") {から、 if (elestyle.display != "none") {に直すといいだろう(っていうか本体側にあまり手を入れない方が後で楽だから、新たにJavaScriptのメソッド書いた方がいいかも)。
投票数:147
平均点:7.07
作成:2008-8-11 12:36:02
更新:2011-1-25 8:29:14
|