8 27

UPDATE 2008/06/10
Ver0.7をリリースしました、テンプレート周りが変更になっています。
詳細は こちら です。

 
Simplepie For MODx 略称pieXの最新版をリリースしました。
とりあえず、βテスト扱いということで・・・。
基本的には、NucleusのNP_Simplepieとほぼ同等の機能になります。
ということで、以前のv0.4及び英語版のv0.5とはパラメタ類が変更になっていますのでご注意ください。

当面の間、テストということでMODxフォーラムへは後日・・・・。
詳細は、下記(続き)にて♪
 

インストール及び使用開始までの手順

  1. ダウンロードしたアーカイブ一式をassets/snippetsディレクトリにアップロードします。
  2. simplepieは、別途こちらよりダウンロードし、assets/snippets/simplepieフォルダにsimlepie.incをアップロードします。
    現在、対応しているSimplepieのバージョンは、1.0.1です。
  3. MODxの管理画面にて、スニペットを作成します。
  4. pieX用のテンプレートをチャンクを使って作成します。(詳細はテンプレートの作成へ)
  5. テンプレートまたはドキュメントにて、pieXを呼び出します。(詳細は呼び出し形式へ)

スニペットの設定

アーカイブの中のpiex.snippet.phpをエディタ等で開いて、スニペットコードエリアにコピーして作成します。
その際に、プロパティの欄に下の画像のように既定値となる変数の登録を行います。

ヘッダ・フッタ・本体設定画面

プロパティに登録する内容は、piex.snippet.phpのヘッダ部分に書かれているMODxプロパティの書式をそのままコピーしてください。
または、下記の行をコピーして使ってください。
プロパティに記載する内容

&cache_enable=cache enable;text;true &cache_time=cache life time;text;60 &extclass=extend item class;text; &noitem=no item template chunk name;text;&dateformat=date format;text;%Y/%m/%d %H:%M&max=max items;text;10 &rows=pattern rows;text;0 &embed=embed property Chunk Name;text;

※07/11/04 dateformatの分の記述がミスっておりましたので修正しました

プロパティの項目 カッコ内は、呼び出し時のパラメタ変数名を示す

cache enable(cache_enable)
キャッシュを利用するかどうかの指定です
cache life time(cache_time)
キャッシュの有効時間を指定します。(単位: 秒)
extend item class name(extclass)
Simplepieの拡張アイテムクラスを使用したい場合にクラス名を指定します。
noitem template chunk name(noitem)
データがないとき、または取得できなかったときのテンプレート(チャンク名)を指定します。
date format(dateformat)
日付の書式を指定します(書式はstrftime関数に準じます)
max items(max)
表示する記事の最大値を指定します

キャッシュの格納場所について

キャッシュの格納場所は、assets/cacheディレクトリに固定になっています。
ほかの場所に変更した場合は、スニペットコード内の下記の部分を変更してください。

define("SIMPLEPIE_CACHE_LOCATION",$modx->config['base_path'] . "assets/cache/");

テンプレートの作成

本スニペットにてフィードを表示すには、テンプレートを作成する必要があります。
チャンクを用いて、それぞれヘッダー部、記事表示部、フッター部の3つのチャンクテンプレートを作成します。

ヘッダ・フッタ・本体

アイテムのヘッダー、アイテムのフッタ、アイテムの本体には、下記のテンプレート変数を用いて構成します。
テンプレート変数は、Simplepieが提供するgetメソッド、Subscribeメソッド、Add_toメソッドが利用できます。(但し、文字列が戻り値となるもの)
Subscribeメソッドは、ヘッダー・フッタのみに利用可能で、Add_toメソッドはアイテムの本体のみに利用可能です。
また、アイテム本体には本プラグイン特有の変数([+no+])があります
なお、テンプレート変数の書式は、プレイスホルダと同様[+変数名+];または[+変数名(引数・・)+]の形式になります。

よく使われるテンプレート変数

よく使われるテンプレート変数を以下に説明します。
ヘッダー・フッタ用

title
フィードのタイトル
permalink
フィードのURL
description
フィード概要
[+description(タイプ,長さ)+]の形式が利用可能です。
タイプには、textまたはhtmlが指定でき、textはHTMLタグを除いたプレーンテキスト形式になります。
長さは、切り出す文字列の長さを指定できます。(0または指定なしではすべてが表示されます)
また、タイプがhtmlの場合の有効タグはスニペットコード内にて固定で指定します。(現在は、AタグとIMGタグのみ)

image_title
ロゴイメージのタイトル
image_url
ロゴイメージのURL
[+image_url(width,height)+]の形式が利用可能です。
subscribe_xxxx
Subscribeの機能です、詳細はsimplepieのAPIドキュメントを参照してください。

アイテム本体用

title
記事のタイトル
permalink
記事のURL
author
著者名
category
カテゴリ名
description
記事概要(書式は、ヘッダー・フッタと同様)
date
日付
enclosure
Podcast/videocastの表示(表示形式は、Simplepie依存となり、その為のパラメタはテンプレートで指定します。
add_to_xxxx
記事のブックマーク用の変数(詳細はsimplepie.orgのAPIドキュメントを参照してください)
no
記事のシーケンシャル番号で、呼び出しパラメタの最大値と連動し、1~最大値までの番号に変換されます。
この変数を利用することにより、例えば1行おきに記事の背景色を変えるなどが行えます。

拡張クラスが提供するgetメソッド及びadd_toメソッドも利用可能です。(詳細は拡張クラスを参照してください)

データなし(noitem template)

データなしまたはエラーなどによる取得不可の場合のテンプレートです。
変数にはfeedUrl(取得したいURL)が利用可能です。

Embedパラメタ(Podcast/Videocast用)

Embedパラメタ設定画面

enclosureを展開する際のEmbedのパラメタを指定します。
詳細は、simplepie.orgのAPIドキュメント内のnative_embedを参照してください。

利用方法

テンプレートまたはドキュメント内にて、以下の形式で呼び出します。
[[piex?url=フィードURL&header=ヘッダーテンプレートチャンク名&footer=フッタテンプレートチャンク名&item=記事テンプレートチャンク名]

フィードURL
RSS/XMLなどのフィードURLを指定します。(但し、URL内の=/?/&の文字は、それぞれ|xe|,|xq|,|xa|に置き換えてください
ヘッダーテンプレートチャンク名
ヘッダー部に用いるテンプレートのチャンク名
フッタテンプレートチャンク名
フッタ部に用いるテンプレートのチャンク名
記事テンプレートチャンク名
記事部に用いるテンプレートのチャンク名

スニペットのプロパティで指定されている変数についてもスニペットの呼び出し時のパラメタで指定可能です。

ダウンロード

こちらからダウンロードしてください。

Simplepie_Item_Hatenaについて

添付ファイルのsimplepie_hatena.incはITEMの拡張クラスであるSimplepie_Item_Hatenaのソースファイルです。
本拡張クラスは、はてなRSSが提供するAGGREGATIONタグを認識する為のdate/categoryメソッドの拡張とSubscribe_hatenaを提供します。

ライセンスについて

simplepie_hatena.incは、simplepieに準拠します。(BSD)
pieXスニペット本体は、MODx及びhtml2textクラスに準拠します。(GPL)

プレーンテキスト変換に利用しているクラスライブラリ

本プラグインのDescriptionにtextパラメタで利用するHTML⇒TEXT変換に利用しているのが、Jon Abernathy氏が公開している「Converts HTML to formatted plain text」です。

投稿者 ZeRo

このエントリに定義されたタグ: , ,

4 コメント

コメント表示形式(一覧 | スレッド)
  1. Takeshi* says:

    ダウンロードの件ではお世話になりました。無事動かすことが出来まして、サイトのリリースが段々見えてきました。ありがとうございます。

    また、プロパティのdateformat部分が下記のようになっていますが、
    > &dateformat=date format;text;%Y/%m/%d %H:%i

    私の環境で「分」の表示がおかしかったので、下記のように直して使っています。
    %H:%i → %H:%M

  2. ZeRo says:

    すいません、あれはミスですねぇ(^^;;;
    ここの説明文書の方を直しておきます。

  3. yassi says:

    すいません、勘違いなのかもしれませんが、cache_timeの単位は「分」ではなくて「秒」ではないでしょうか?

  4. ZeRo says:

    すいません(^^;;
    勘違いは私でしたぁ
    ありがとうございます、修正しておきます(^^;;

コメント追加


BB コード 書式を許可します。
標準的な感情表現、 :-) や ;-) といったものは画像に変換します。
スマイル
電子メールアドレスは表示せず、電子メールの通知にのみ使用します。

ロボットからの自動的なコメントスパムを防ぐために、画像の下の入力ボックスに適切な文字列を入力してください。文字列が一致する場合のみ、コメントが送信されるでしょう。ブラウザーが Cookie をサポートし、受け入れることを確認してください。さもなければ、コメントを正確に確認することができません。
CAPTCHA