2007年 8月 27(月曜日)
pieX Ver0.6
2007年08月27日(月)
Simplepie For MODx 略称pieXの最新版をリリースしました。
とりあえず、βテスト扱いということで・・・。
基本的には、NucleusのNP_Simplepieとほぼ同等の機能になります。
ということで、以前のv0.4及び英語版のv0.5とはパラメタ類が変更になっていますのでご注意ください。
当面の間、テストということでMODxフォーラムへは後日・・・・。
詳細は、下記(続き)にて♪
インストール及び使用開始までの手順
- ダウンロードしたアーカイブ一式をassets/snippetsディレクトリにアップロードします。
- simplepieは、別途こちらよりダウンロードし、assets/snippets/simplepieフォルダにsimlepie.incをアップロードします。
現在、対応しているSimplepieのバージョンは、1.0.1です。 - MODxの管理画面にて、スニペットを作成します。
- pieX用のテンプレートをチャンクを使って作成します。(詳細はテンプレートの作成へ)
- テンプレートまたはドキュメントにて、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用)
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」です。





