トップ  >  趣味の部屋  >  XOOPSサイト構築  >  d3commentハック  >  minidiary d3コメント選択対応とd3commentクラス
xoops d3forum コメント統合

更新情報

  • 09/05/10: 投稿者一覧ブロックを実装、ver-14d2してアップしました。アップデート後、テンプレート更新が必要です。 d3pipes用のジョイントを同梱。
  • 09/03/31: イベント通知機能を組込み、ver-14dとしてアップしました。アップデート後、テンプレート更新が必要です。
  • 09/03/21: d3forum-0,85のコメント統合設定機能アップを反映し、ver-14cとしてアップしました。
  • 08/09/06: コメント統合クラスの閲覧権限連動と、コメント一覧のブログ執筆者連動を織り込んだ、ver-14b1に差し替えました。 以前のバージョンをご使用の方は、アップグレードを推奨します。

概要 anchor.png

以前より、minidiaryモジュール をコメント統合で使いたいとは思っていましたが、D3コメントクラスを書く時間がようやく取れたので、minidiary-ver0.14をベースに手を入れてみました。

  1.  D3コメントクラスです。 一応、こんな風に表示されます。
    yd_d3com_class.gif
     (08/09/07 ver-b1変更) 権限チェック~リダイレクトを組み込みました。 参考にした記事は、こちら(XUGJ)
     (ご注意:)d3forumの投稿一覧表示などには、タイトル・投稿者などが表示されますが、それをクリックしても本分要旨やコメントが表示されずにリダイレクトされます。

  2.  コメント統合先のd3forumディレクトリ名・フォーラムid値は、d3blog (08/09/07変更)d3pipesのコメント統合を参考に、minidiaryの管理画面でmodule_configに保存する方式としました。 そして、コメント統合のクラスはd3forum-0.83a以降で実装された新方式(「d3comment」で呼ぶほう)を採用しています。 また、D3commentクラス内でforum_idまで認識するため、テンプレート内に記述する必要がありません。
     こうすることで、複数サイトを共有化している場合でも、携帯用のテンプレートを共通化できますし、テンプレート配布の際にも神経を使わずに済みます。

  3.  コメント一覧ブロックは、xugj_blockで実装しています。(参考記事:thx さやさんのコメント13)
      (08/09/07 ver-b1変更) 「表示中の執筆者へのコメントを絞り込んで表示」を実装しました。

  4.  イベント通知機能を組み込みました。(2009/4/1) コメント通知まで元記事の閲覧権限(XSNS連携:友人まで、友人の友人まで)に対応しています。(AltsysのD3notificationクラスを使用)
    • 日記全体の新規記事投稿があったとき
    • 特定の人(ユーザー)の新規記事投稿があったとき
    • 特定の人(ユーザー)の記事にコメントがあったとき
    • 特定の記事にコメントがあったとき
       にイベント通知が行われます。
       コメントの通知を使う場合は、管理画面の「コメント投稿に関するルール」を「コメントに承認は必要ない」に設定して下さい。 なお、d3forumコメント統合での確認のみ行っています。 従来のxoopsコメントでは動作しないかもしれませんので、ご容赦願います。
  5.  投稿者一覧ブロックを実装しました。その他、細かな修正等実施。 (2009/5/10)
  6.  d3pipesのジョントブロックを作成し同梱しました。(2009/5/10)

手順と方法 anchor.png

minidiary-0.14d2としてminidiary-0.14との差分ファイルと、d3forumのブロック関数関連の追加ファイル、d3commentのAPI、xugj_blockも同梱して固めたファイルを、ここに置いておきますのでご使用ください。 解凍後、夫々のフォルダにアップロードして使えます。

fileminidiary014d3_diff.zip 最新
(09/06/10 ver-d3変更):ver-d2でイベント通知のファイルが抜けていました。(thx Tetsuさん)
d3forum0.85~
Altsys必須
fileminidiary014d2_diff.zip
(09/05/10 ver-d2変更):投稿者一覧ブロックを組込み。テンプレート更新要
d3pipes内部ジョイントを新規作成し同梱
d3forum0.85~
Altsys必須
fileminidiary014d_diff.zip
(09/03/31 ver-d変更):イベント通知機能を組込み。テンプレート更新要
d3forum0.85~
Altsys必須
fileminidiary014c_diff.zip
(09/03/21 ver-c変更):コメント昇順/降順設定、最大表示数設定を反映。
d3forum0.85~
fileminidiary014b2_diff.zip
(08/09/22 ver-b2変更):
xoops2.0.16a-JPでの不具合対応のため、以前のバージョンからは全て上書き要
d3forum0.84以前
ディレクトリ構造 anchor.png
  • 差分ファイルは、以下のディレクトリ構造です。
    (追記)html/modules/(d3forum)/blocks/blocks_bcomment.php の(d3forum)部分は、運用サイトのコメント統合するd3forumのディレクトリに放り込んでください。 (thx saya_07さん)
html (XOOPS_ROOT_PATH)
├─class
│    └smarty
│       └plugins
│               function.d3comment.php
│               function.d3forum_comment.php
│               function.d3forum_comment_postscount.php
│               function.d3forum_comment_topicscount.php
│               function.xugj_block.php
│
└─modules
    │ └(d3forum)
    │    └blocks
    │           blocks_bcomment.php
    │
    └─minidiary
         │      detail.php
         │      diarylist.php
         │      edit.php
         │      functions.php
         │      header.php
         │      index.php
         │      viewcomment.php
         │      xoops_version.php
         │
         ├blocks
         │      b_bloggerlist.php
         │      b_diarylist.php
         │
         ├class
         │      minidiaryD3commentContent.class.php
         │
         ├include
         │      notification.inc.php
         │
         ├language
         │ └japanese
         │     │ modinfo.php
         │     │
         │   └mail_template
         │      blogger_comment_notify.tpl
         │      blogger_newentry_notify.tpl
         │      global_newentry_notify.tpl
         └templates
            │   yd_bloggerlist.html
            │   yd_detail.html
            │   yd_diarylist.html
            │   yd_index.html
            │   yd_rightarea.html
            │
            └blocks
                 b_diarylist.html
trust (XOOPS_TRUST_PATH)
└─modules
    ├ d3forum
    │ │     blocks_bcomment.php
    │ │
    │ └blocks
    │          block_functions_bcomment.php
  └ d3pipesm
      └joints
        └block
              D3pipesBlockMinidiarylist.class.php

xugj_blockの準備 anchor.png

 xugj_blockを使います。 上記差分パックを使うか、別途入手はこちら(PEEK XOOPS)、 → 「xoops_root_path/class/smarty/plugins/」内にファイル名「function.xugj_block.php」で保存します。
 解説はこちら(XFIELD TWCHNOTE)を参照いただければわかります。

d3forumのブロック関連追加ファイル anchor.png

 日記への統合コメント一覧で日記執筆者へのコメントの絞込処理の実装のため、d3forumの差分ファイルをアップする必要があります。 d3forum本体のアップデートで上書きされないように、別ファイルとしてあります。 上記差分パックから忘れずにアップしてください。 なお、html側のmodules/(d3forum) ディレクトリ名は、実際のインストールディレクトリ名のところにアップします。
 

D3commentクラス anchor.png

 D3commentクラスは、上記差分ファイルからか下記ファイルをダウンロード後、「minidiary/class」内にアップロードして使用します。

 当然ながら、d3forumの方にコメント統合用に掲示板を追加し、(必要があれば)過去のxoopsコメントをインポート後、「コメント統合時の参照方法」に

minidiary::minidiaryD3commentContent::

と記載します。
 なお、d3forumは0.84以降のバージョンが必須、0.85推奨で、D3commentの最新のAPIクラス群(差分パックにも同梱)を忘れずにアップして下さい。

minidiaryソースの変更 anchor.png

 多くのソースファイルに手を入れます。(差分パックをご使用ください。)

 ソース説明も省略します。

テンプレートの編集 anchor.png

 テンプレートを5つ6つ変更しています。 モジュールアップデート後、Altsysなどで必要に応じて編集してください。
 

モバイル用テンプレート anchor.png

 モバイルテンプハウスで、作成・公開済。 ver0.14dへの対応のため、モバイル用テンプレートもアップグレードが必要です。

インストールと設定 anchor.png

 xoops管理画面の「モジュールの管理」で、「minidiary」をモジュールアップデートします。 これで、「minidiary」の管理画面に、7つの項目 (09/03/31:イベント通知機能組込)が追加されます。

d3com_yd_event2.gif

ここで、

  1. コメント統合するd3forumのdirname : d3forumのコメント統合機能を使用する場合はd3forumのhtml側ディレクトリ名を指定します。xoopsコメントを使用する場合やコメント機能を無効にする場合は空欄です。
  2. コメント統合するフォーラムの番号 : コメント統合を選択した場合、統合先のforum_id値を必ず指定してください。
  3. コメント統合の表示順序 : フラット表示の時の表示順序(古いものから/新しいものから)します。
  4. コメント統合の表示方法 : フラット表示かスレッド表示かを選択します。
  5. コメント統合のフラット表示における最大表示件数 : フラット表示の時の最大件数を指定します。
  6. コメント投稿に関するルール : 記事毎のコメントのイベント通知を行う場合は、「コメントに承認は必要ない」とします。
  7. イベント通知機能の設定 : 表示する部分を選択します。
  8. 特定イベントを有効にする : イベント表示するものだけを選択します。

これらを設定すれば完了です。(この編集を行うまでは、xoopsコメントシステムが有効です。)

ユーザーによるイベント通知設定 anchor.png

もちろん、イベント通知は実際に記事や執筆者などに対して、ユーザー自身に各ページで適宜設定してもらってください。

d3com_yd_event1.gif

投稿者一覧ブロックの設定 anchor.png

 XOOPS管理画面やAltsysで、「日記投稿者一覧」ブロックを有効にしてください。
 なお、このブロックを使用せずに、minidiaryのサイド表示内に表示したい場合は、rightarea.htmlテンプレートの最後の方にコメントアウトした記述を、お好きな場所に挿入してください。

その他 anchor.png

ライセンス anchor.png

  • minidiaryソース、d3forumソース、xugj_blockソース:GPL
  • アイコン画像について
    minidiaryモジュールでは以下のサイトのアイコンや画像ファイルを利用しています。

famfamfam.com: Silk Icons
http://www.famfamfam.com/lab/icons/silk/


実体ファイル:inc/yd_d3com_d
旧バージョン:inc/yd_d3com_b
旧バージョン:inc/yd_d3com
関連記事:
Tag: コメント統合

プリンタ用画面
投票数:81 平均点:6.17
カテゴリートップ
d3commentハック
次
Xwords d3コメント選択対応とd3commentクラス

コメント一覧

投稿ツリー

トピック


Tetsu  投稿日時 2009/6/10 1:20

なーおさん

さっそくありがとうございます。
説明が足りずに申し訳ありませんでした。

XoopsXOOPS Cube Legacy 2.1.7
サーバーはXserver PHP5.1.6 MySQL5.0.22
です。

添付いただいたファイルがない。
というメッセージでした。

お騒がせして申し訳ありませんでした。
ありがとうございます。

 

ひとつ前のコメントを読んで、さっそくd3diaryを別のサイトにインストールしてみましたら、無事イベント通知機能も使えました。

この機会に、d3diaryにしてしまおうと思っているのですが、ひとつ教えてください。

minidiaryからコメントをインポートする際に、d3diaryのd3forumコメント統合は別のフォーラムで設定しておくのでしょうか?

システムの理解も足りなくて、お手数をおかけしますが、
どうぞよろしくお願いします。

 
なーお  投稿日時 2009/6/10 5:45 | 最終変更

Tetsuさん

よかった、無事に表示されたようですね。 :-)
今後は、エラーメッセージは翻訳せずに英文のままご報告いただけると原因究明が早くなるのでありがたいです。

d3diaryは、未完成ですので、完成してからインポートしていただければOKと思いますし、そのほうがこちらも気楽です。 あくまでお試し、ということで。 今月中には、正式リリースできると思います。

なお、d3comment統合設定のほうは、そのまま何も変更なしでd3diaryインポートしてから、d3forumの当該フォーラム設定の部分を変更すればOKです。 
minidiary::minidiaryD3commentContent::minidiary
 ↓
d3diary::d3diaryD3commentContent::d3diary
(一番左のd3diary部分だけ、実際のインストールフォルダ名に変更のこと)

Tetsu  投稿日時 2009/6/10 22:53

なーおさん

わざわざ調べていただいて、ほんとにありがとうございました。
おかげさまで無事作動しました。

質問の仕方に慣れていなくてご迷惑をおかけしました。

d3diary楽しみにしています。
試しにアップしたサイトでも快適に稼動しています。
コメントのインポートの方法も解りました。
ありがとうございます。

 


新しくコメントをつける

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