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

このページの情報は古く、現在はXoopsX版にて最新版としてコメント統合を組み込み済みのpiCalを配布しています。どうぞそちらをご使用ください。

概要 anchor.png

以前より、piCalモジュール をコメント統合で使ってはいましたが、携帯用テンプレートの共有化を行う際に、テンプレートにサイト毎に異なるd3forum_dirnameとforum_idを記述する部分で支障があり、何とかしたいと考え、piCal-ver0.91hをベースに手を入れてみました。

  1.  D3コメントクラスは、photositeさん配布のもの(ver0.6)をベースにして手を入れています。

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

手順と方法 anchor.png

テンプレートだけでなく、ソースの変更も必要ですので、細かく記しておきます。

なお、個別のアップロードも編集も面倒、という人のために、piCal本体との差分ファイルパックを、ここに置いておきます。 解凍後、夫々のフォルダに上書きアップロードして使えます。

ファイル対応本体バージョン対応d3forumバージョン
filepiCal093_1_diff.zip 最新0.93d3forum-0.85~
filepiCal092_1_diff.zip0.92d3forum-0.85~
filepiCal091h3_2a_diff.zip0.91d3forum-0.84

D3commentクラス anchor.png

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

filepiCalD3commentContent.class.php
08/10/13 参照元のphotositeさんの不具合対応盤に差し替えました。
お手数ですが、最新版に差し替え願います。

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

piCal::piCalD3commentContent::

と記載します。(最初の「piCal」の部分は、インストールディレクトリ名に合わせて変更します。)
 なお、d3forumは0.83a以降のバージョンが必須で、D3commentの最新のAPIクラス群を忘れずにアップして下さい。

piCalソースの変更 anchor.png

 (以下、ver-091h3_2aまでの情報です。 ver-092-1以降の情報は、追って編集します。)
 3つのソースファイルに手を入れます。 こんな方法で良いのか自信はありませんが、間違いではないと思うのでご勘弁。 <img src=" src="http://www.naaon.com/uploads/smil3dbd4d4e4c4f2.gif" />

 (08/09/01:config変数名を、d3pipesなどと同様の標準的なものに変更しました)

xoops_version.php anchor.png

 「xoops_version.php」を編集し、管理画面にmodule_config項目を追加します。
 下記の447~463行目を追記します。

437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
$modversion['config'][27] = array(
    'name'            => 'pical_proxysettings' ,
    'title'            => '_MI_PROXYSETTINGS' ,
    'description'    => '' ,
    'formtype'        => 'textbox' ,
    'valuetype'        => 'text' ,
    'default'        => '' ,
    'options'        => array() ,
) ;
 
$modversion['config'][28] = array(
        'name'                => 'comment_dirname' ,
        'title'                => '_MI_COM_AGENT' ,
        'description'            => '_MI_COM_AGENTDSC' ,
        'formtype'            => 'textbox',
        'valuetype'            => 'text',
        'default'            => ''
);
 
$modversion['config'][29]= array(
        'name'                 => 'comment_forum_id',
        'title'             => '_MI_COM_AGENTID',
        'description'            => '_MI_COM_AGENTIDDSC',
        'formtype'            => 'textbox',
        'valuetype'            => 'int',
        'default'            => '0'
);
languages/japanese/modinfo.php anchor.png

 「modinfo.php」を編集し、上の作業で追加した管理画面の項目に日本語テキストを追加します。
 以下の110~行目を追記します。

108
109
110
111
112
113
114
115
116
117
118
119
define('_MI_PICAL_ADMENU_MYBLOCKSADMIN','ブロック・グループ管理');
 
//d3comment integration
define("_MI_COM_AGENT","コメント統合するd3forumのdirname");
define("_MI_COM_AGENTDSC","d3forumのコメント統合機能を使用する場合は<br/>フォーラムのhtml側ディレクトリ名を指定します。<br/>xoopsコメントを使用する場合やコメント機能を無効にする場合は空欄です。");
define("_MI_COM_AGENTID","コメント統合するフォーラムの番号");
define("_MI_COM_AGENTIDDSC","コメント統合を選択した場合、forum_idを必ず指定してください。");
define("_MI_COM_VIEW","コメント統合の表示方法");
define("_MI_COM_VIEWDSC","フラット表示かスレッド表示化かを選択します。");
}
 
?>
index.php anchor.png

 「index.php」に、下記のように117~125行目を追記します。
 module_config設定項目を、smarty変数でテンプレートに渡すために必要です。

113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
    // クローラーにリンクをへつらせない follow -> nofollow
    $meta_robots = str_replace( ',follow' , ',nofollow' , $xoopsTpl->get_template_vars( "xoops_meta_robots" ) ) ;
    $xoopsTpl->assign( "xoops_meta_robots" , $meta_robots ) ;
 
        // モジュールID  // added by naao
        $module_handler =& xoops_gethandler('module');
        $this_module =& $module_handler->getByDirname($mydirname);
        $mid = $this_module->getVar('mid');
 
        // モジュールconfig  // added by naao
        $config_handler =& xoops_gethandler("config");
        $mod_config = $config_handler->getConfigsByCat(0, $mid);
        $xoopsTpl->assign("moduleConfig", $mod_config);
 
    // 実行時間計測スター

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

 続いて、テンプレートを1つ、Altsysなどで編集します。 

pical_event_detail.html anchor.png

 「pical_event_detail.html」の、7行目以降 を以下のように編集します。
 (08/11/01 X2で表示されない不具合のため、Legacyなクラス指定に変更)

Everything is expanded.Everything is shortened.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<{$detail_body}>
 
<div style="text-align: right; padding: 0px; margin: 0px;">
  <a href="<{$print_link}>" target="_blank"><img src="<{$skinpath}>/print.gif" alt="<{$lang_print}>" title="<{$lang_print}>" border="0" /></a>
</div>
 
<{if $moduleConfig.comment_dirname}>
<{d3forum_comment dirname=$moduleConfig.comment_dirname forum_id=$moduleConfig.comment_forum_id itemname="event_id" subject=$xoops_pagetitle}>
 
<{else}>
  <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>
<{/if}>
 
<{include file='db:system_notification_select.html'}>

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

 モバイルテンプハウスで、作成・公開中。 

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

 xoops管理画面の「モジュールの管理」で、「piCal」をモジュールアップデートします。 これで、「piCal」の管理画面に、2つの項目が追加されます。

myalbum_config.gif

ここで、

  1. コメントシステムの設定 : d3forumのコメント統合機能を使用する場合はd3forumのhtml側ディレクトリ名を指定します。xoopsコメントを使用する場合やコメント機能を無効にする場合は空欄です。
  2. コメントのforum_id : コメント統合を選択した場合、統合先のforum_id値を必ず指定してください。

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

その他 anchor.png

ライセンス anchor.png

  • piCalソース、d3forumソース、xugj_blockソース:GPL

実体ファイル:inc/pical_d3com
関連記事:

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

コメント一覧

投稿ツリー

トピック


nonn50  投稿日時 2009/3/21 19:09

お疲れ様でした。

早速、頂戴してまいります :-D

ありがとうございました。

nonn50  投稿日時 2009/3/22 8:21

おはようございまする :-D

昨日以来、モバイルテンプハウスにアクセスできません ;(
よろしく、お願いします。

masahiro   投稿日時 2009/7/18 1:15

いつもお世話になっております。

最新版のpiCal0.93をコメント統合したいのですが、piCal092_1_diff.zipを解凍しそのまま上書きアップデートするだけで大丈夫でしょうか。
よろしくお願い致します。

なーお  投稿日時 2009/7/18 6:55

masahiro さん、こんにちは。

引用:

最新版のpiCal0.93をコメント統合したいのですが、piCal092_1_diff.zipを解凍しそのまま上書きアップデートするだけで大丈夫でしょうか。

これは正直やってみないとわかりません。(0.93の変更点の確認もできていません。)
お急ぎでしたら、元に戻せる状態を作ったうえで、一度お試しのうえご報告いただければ幸いです。

ゲスト   投稿日時 2009/7/19 0:54

なーおさん、お世話になります。

引用:
これは正直やってみないとわかりません。(0.93の変更点の確認もできていません。)
お急ぎでしたら、元に戻せる状態を作ったうえで、一度お試しのうえご報告いただければ幸いです。

了解しました。
後ほど試してご報告させて頂きます。

masahiro   投稿日時 2009/7/20 1:01

なーおさん、お世話になります。

引用:
引用:
これは正直やってみないとわかりません。(0.93の変更点の確認もできていません。)
お急ぎでしたら、元に戻せる状態を作ったうえで、一度お試しのうえご報告いただければ幸いです。

了解しました。
後ほど試してご報告させて頂きます。

先ほどコメント統合を試してみたので結果報告です。

piCal0.93と、piCal092_1_diff.zipを解凍したファイルの日付を比較したところpiCal0.93のxoops_version.phpだけが新しかったので39行目の

1
$modversion['version'] = 0.92;

を0.93に変更したのみで上書きアップデートしたところ、問題なくコメント統合出来たようです。

なーお  投稿日時 2009/7/20 8:54

masahiroさん、こんにちは。

動作確認、ありがとうございます。

引用:

piCal0.93と、piCal092_1_diff.zipを解凍したファイルの日付を比較したところpiCal0.93のxoops_version.phpだけが新しかったので39行目の

$modversion['version'] = 0.92;

を0.93に変更したのみで上書きアップデートしたところ、問題なくコメント統合出来たようです。

こちらでも、テキスト比較の結果、内容的には従来の差分パックでも使えることが確認できました。 この部分を0.93にアップデートした差分ファイルを、追ってリリースしておきますね。

では。

masahiro   投稿日時 2009/10/7 0:38

なーおさん、お世話になります。

HD-1.0.4で作成したサイトにpiCalを入れてpiCal093_1_diff.zipを解凍したもので上書きアップデートしたところ、アップデートの画面の一部とpiCalにアクセスした画面の一部が文字化けしました。

languages/ja_utf8/modinfo.php
に問題があるのではないかと当たりを付け、
languages/japanese/modinfo.php
をUTF-8に変換し上書きアップデートしたところ文字化けは解消しましたのでご報告申し上げます。

なーお  投稿日時 2009/10/7 23:52 | 最終変更

masahiroさん、こんにちは。

引用:
HD-1.0.4で作成したサイトにpiCalを入れてpiCal093_1_diff.zipを解凍したもので上書きアップデートしたところ、アップデートの画面の一部とpiCalにアクセスした画面の一部が文字化けしました。

ご報告、ありがとうございます。

diffパッケージの当該ファイル「languages/ja_utf8/modinfo.php」を確認してみましたが、utf-8に変換されておりました。 ただ、何か不都合があるために発生するのだと思いますので、調査にお時間をいただきたくお願いします。

では。



新しくコメントをつける

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

ブックマーク