トップ  >  趣味の部屋  >  XOOPSサイト構築  >  d3pipes用piCalプラグインでRSS記事をカレンダー表示
xoops コメント統合 d3pipes piCal プラグイン

RSS配信された番組表をカレンダー表示 anchor.png

 うさぎにもできるXOOPS入門にあがったトピックが、何となく目を引いたので、突いてみました。 なお、AXYZ-SAKさんのアドバイスをいただき完成したものです。ありがとうございました。

  • RSS配信された番組表とは、テレビ王国 などのサイトでRSS配信された番組表のことのようです。 なるほど、ジャンルや通信媒体毎にRSSを得られますね。
  • 少しの不安は配信日付はどうなっているか、というところでしたが、<dc:date> に埋め込まれているようだったので、d3pipesのデフォルト処理で引っ張れました。

d3pipes用piCalプラグイン anchor.png

 プラグインを書いてみました。 これまでd3diary用プラグインやd3forum用プラグインのコメント統合元記事閲覧権限連動化などで触っていたので、piCalプラグイン側の理解はできていました。 けれども、d3pipes側で受け取ったデータの処理はどうするものやら。。
 右往左往しましたが、結局、(trust側) blocks/sync_show.php の処理を参考にして、templates/inc_entries.html で記事配列の中身を確認することで書くことができました。

  • ソースは、こちらから daily,weekly,monthly それぞれのd3pipes.phpをダウンロードしてください。今後のpiCalメンテナンスバージョンの配布の際に同梱されるはずです。
  • 現状ではこのスクリプトはプロトタイプですので、不具合などあればご報告ください。

インストールおよび設定手順 anchor.png

d3pipesのインストール anchor.png

 GIJOEさんのサイトからd3pipesをダウンロード。 インストールそのものは、XUGJのマニュアル等を参考にしてください。

d3pipesの設定 anchor.png

  • 切り抜きにコメントを付ける場合は、d3forumをインストールし、d3pipesの管理画面の一般設定で、コメント統合先のforumディレクトリ名とforum番号を設定しておきます。コメントを使わない場合はこの作業は不要。
  • 「パイプ管理」-「RSS/Atom取得パイプ作成ウイザード」でパイプの設定をします。 サーバー環境により使用するパイプに違いがでますが、EUC-JPで運用中の私の環境では以下のような感じで行けました。
    pipes_setting.jpg
  • 早速アクセスしてみて成功すると、記事一覧が出て、切り抜き一覧も参照できます。
    kirinuki.jpg
  • 切り抜き詳細を参照したところ。 コメント2件書いてみるとこんな感じになります。(d3forumはこちらの0.86-preです。) 各切り抜きのリンクからRSS元記事にももちろん飛べます。
    kirinuki_detail.jpg

piCalインストール anchor.png

 2011年9月時点ではまだGIJOEさんのオリジナル版+d3コメント統合ハックを加えた程度のものですが、こちらのSVNからtarballをダウンロードしてインストールできます。 (d3pipesプラグインも一括で入ります。)

piCalの設定 anchor.png

 管理画面のpiCalの「プラグイン管理」で、表示したいカレンダー毎にプラグイン項目を付加してゆきます。 日毎・週毎・月毎・拡張カレンダーブロック 全てに設定した状態が以下のスクリーンショットです。
 ポイントは、オプション欄に 表示させるd3pipesのパイプ番号を、カンマ区切りで入力することです。

pical_setting.jpg

結果を見てみる anchor.png

  • 月間ビュー
    month.jpg
  • 週間ビュー
    week.jpg
  • 日毎ビュー
    day.jpg
  • 拡張ミニカレンダー
    minicalendar.jpg

以上ですが、やってみてわかったのは、これは結構応用できそうな気がしますね。
自分の管理するスピーカーのサイトだと、CDの新譜情報など面白いかも。 :-)


実体ページ:inc/pical_d3pipes

プリンタ用画面
投票数:27 平均点:9.26
前
xupdateモジュール
カテゴリートップ
XOOPSサイト構築
次
XUGJ_blockでMyブックマーク作成

コメント一覧

投稿ツリー


duck   投稿日時 2011/9/14 22:11

naaoさま

こんにちは
usagiさんのフォーラムでお世話になりましたduckと申します
このたびは夢のプラグインやまとめページを
早々に作成していただきましてありがとうございました

つまづくこともなくあっという間に念願の番組表ができあがってしまい
しばらく振るえが止まりませんでした
それくらい私にとっては「やりたくてもできないこと」でしたので
naaoさまのようにPHPやプラグインをさっと書き出せる方は
ほんとうに「神さま」のようです(笑)
あの番組表ひとつあるだけで楽しみがもっと増えてきました
ありがとうございました

なーお  投稿日時 2011/9/14 23:50

duckさん

こちらにもコメントありがとうございます。

今回の件は、「え? d3pipes用のpiCalプラグインって無かったの?」 という疑問と、番組表カレンダーという発想が面白く、 プラグインを作れば今後もユーザーへの活用の場が広がるのではないか、と考えたからです。 :-D

何かあればまたどうぞ。

なーお  投稿日時 2011/10/3 11:35 | 最終変更

piCalでd3pipesから取得するデータ数の上限は、「まあ100件もあれば十分かな」程度の間隔で、プラグインソース内に直書きしています。各プラグイン内に

$max_entries =  100 ;

という行があるので、この「100」を変更すればできます。 ;-)

まあ本当はpiCalの管理画面のOPTION設定できるようにすれば良くて簡単にできるんですが。。

$max_entries =  isset( $options[1] ) ? (int)$options[1] : 100 ;

と変更しておき、piCal管理画面のオプション欄に

1,2|300

などとすればOKだと思います。
「|」はOPTIONのセパレータで、その前がOPTION[0]でd3pipesのパイプ番号、後ろがOPTION[1]で取得行数です。 未検証ですが。。

sai   投稿日時 2013/6/10 13:25

なーおんさん、いつもお世話になっております。

ご質問なのですが、
 このカレンダーに表示された、RSS情報を保存して行くことは可能でしょうか?RSS情報が更新されていくと、以前の(数十件ぐらい前)の情報が消えてしまうので、何ヶ月か何年も前のRSS情報も残して行くことはできますでしょうか?

また、カレンダーの見出しに、RSSから取得した画像を小さくサムネイルのように表示させる事はできますでしょうか?

すごく、このd3pipesとカレンダーの表示がいいなと思っています。
分かりましたら、教えて頂けないでしょうか?
どうぞよろしくお願い致します。

なーお  投稿日時 2013/6/11 14:00

saiさん、こんにちは。

d3pipesのsync処理から引っ張ってきていますので、d3pipes側で消滅する記事はもうどうしようもないですね。

もしこのd3pipesプラグインを、切り抜き対応できれば良いのでしょうが。。 あいにく時間も意欲もないのでできません。 ご自身で試してみてはいかがでしょうか。

sai   投稿日時 2013/6/11 15:19

お忙しい中、返信を頂きましてありがとうございます。

ソフトウェア制作を依頼してみようと思います。ありがとうございました。



新しくコメントをつける

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