d3forum のコメント統合(未対応moduleの設定方法など)

2009
2/12

 d3forum のコメント統合機能はとても魅力的なのですが、ネイティブで対応していないmoduleの場合は、テンプレートの書き換えが必要になります。

自分の作業用の参考として、GIJOEさんのサイトの下記リンク先を参照させていただきました。

 http://xoops.peak.ne.jp/md/news/index.php?page=article&storyid=394

 

以下は、自分の備忘録として、上記サイトの記述を引用させていただいたものです。

 

d3forumコメント統合の使い方ですが、すでにXOOPSコアのコメント機能を使っているモジュールについて移行するのであれば、比較的簡単です。

(1) d3forumにおいて、専用の空のフォーラムを用意する
(2) d3forumの管理画面より、そのモジュールのコメントインポートを行う

この時点で、xoopscommentsテーブルのデータがd3forum内にツリー構造を保持したままコピーされます。また、(1)で用意したコメント統合用フォーラムには、「コメント統合時の参照方法」に自動的に値が入ります。(一部、手で修正する必要のあるモジュールもあります)

あとは、各モジュールのエントリに表示されるコメントを、X2コアのものから、d3forumのものに切り替える作業だけです。基本的にはすべてテンプレートの作業です。

(3) コメント投稿・表示部分のテンプレートを書き換える
(4) コメント数を表示する部分のテンプレートを書き換える

この(3)と(4)は、モジュール毎の対応が必要で、やや面倒です。

ドキュメントに用意したテキストを貼り付けておきます。

original:


<div style="text-align: center; padding: 3px; margin:3px;">
  <{$commentsnav}>
  <{$lang_notice}>
</div>

<div style="margin:3px; padding: 3px;">

<!-- start comments loop -->
<{if $comment_mode == "flat"}>
  <{include file="db:system_comments_flat.html"}>
<{elseif $comment_mode == "thread"}>
  <{include file="db:system_comments_thread.html"}>
<{elseif $comment_mode == "nest"}>
  <{include file="db:system_comments_nest.html"}>
<{/if}>
<!-- end comments loop -->
</div>

modified:


<{d3forum_comment dirname=d3forum forum_id=(number) 
 itemname="id" subject=$title}>

mydownloads
mydownloads_singlefile.html


<{d3forum_comment dirname=d3forum forum_id=(number)
 itemname="lid" subject=$file.title|regex_replace:
"/&nbsp;.*/":""}>

mydownloads_download.html


<{d3forum_comment_topicscount dirname=d3forum
  forum_id=(number) link_id=$down.id}>

myAlbum-P
myalbum_photo.html


<{d3forum_comment dirname=d3forum forum_id=(number)
  itemname="lid" subject=$photo.title}>

 


<{d3forum_comment_topicscount dirname=d3forum forum_id=(number)
  link_id=$photo.lid}>

myalbum_photo_in_list.html


<{d3forum_comment_topicscount dirname=d3forum forum_id=(number)
  link_id=$photo.lid}>

bulletin2
{dirname}_article.html


<{d3forum_comment dirname=d3forum forum_id=(number)
  itemname="storyid" subject=$story.title}>

{dirname}_item.html


<{d3forum_comment_topicscount dirname=d3forum forum_id=(number)
  link_id=$story.id}>

もちろん、最初からd3forumコメント統合に対応したモジュールであれば、このような面倒な手間は不要です。そしてその最初のモジュールである pico は明朝には用意できると思います。

トラックバック・ピンバックはありません

トラックバック / ピンバックは現在受け付けていません。

この投稿へのコメントは受け付けていません。