cakephpで使うためにsimplepieと格闘。

SimplepieComponentがどうしても使いたかったんです。

GoogleFeedAPIも便利そうでいいなと思いましたが、今回はSimplePie動かしたいということで。

feedで受け取ったデータを生のまま全部くれるようなのですが、それだとちょっと面倒だしなー、どうにかしたいなーというところで、SimplepieComponentにちょっと追加してみました。

ファイルの先頭に以下を追加。取ってくる最大値なので、適当に使いやすい量に変更してください。

define ( "_SP_ITEMLIMIT", 5 );

変数宣言してる最後に以下を追加。

var $itemLimit;
var $feedItem = array();

feed関数の後ろなどに適当に追加。convertの内部は、使う内容を自分で適当に書き換えた方がいいと思います。

function setItemLimit ( $num = _SP_ITEMLIMIT )
{
// Set number of items to per-feed
$this->sp_feed->set_item_limit ( $num );
}
function convert ( $items )
{
if ( $items ) {
$this->feedItem = array();
$i = 0;
$this->sp_feed->set_raw_data($items);
$this->feedItem[$i]['item_title']        = $this->sp_feed->get_title();
$this->feedItem[$i]['item_link']         = $this->sp_feed->get_permalink();
$this->feedItem[$i]['item_date']         = Date('Y/m/d H:i:s');
$this->feedItem[$i]['item_description']  = $this->sp_feed->get_description();
foreach ( $this->sp_feed->get_items() as $item )
{
++$i;
$this->feedItem[$i]['item_title']        = $item->get_title();
$this->feedItem[$i]['item_link']         = $item->get_permalink();
$this->feedItem[$i]['item_date']         = $item->get_date('Y/m/d');
$this->feedItem[$i]['item_description']  = rawurldecode($item->get_description());
}
} else {
return false;
}
return $this->feedItem;
}
広告

About sato_c

小学生の頃にインベーダーゲームやPC-8001やApple][といったものを知ってしまい、それ以降ずーっとゲーム好き。でも、あんまりうまくはありません。 仕事は当初はゲーム関係のプログラムやサウンドをやっていましたが、WEB関係を通ったあと、遊技機関係のプログラムやサウンドをやっています。あまり節操がないのか。 現在はJavaですてきなコードを書けるように勉強中。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。