RSSの出力
Zend FrameworkにはRSSを処理するためのZend_Feedというライブラリがあるのだが、これは外部のRSSを読み込んで処理するだけでなく、自サイト内のRSSを生成する、といった場合にも使用できる。具体的には以下の通り。
// 基本的な設定は別途保存しておいて呼び出す
$config=Zend_Registry::get(‘config’);
// RSSのためのデータ作成
$data=array();
$data[‘title’]=$config[‘base’][‘title’];
$data[‘link’]=$config[‘base’][‘url’];
$data[‘charset’]=$config[‘base’][‘charset’];
$data[‘description’]=$config[‘base’][‘description’];
$data[‘author’]=$config[‘base’][‘author’];
$data[’email’]=$config[‘base’][’email’];
$data[‘entries’]=array();
//$rowsはデータベースなどから取得した情報(適宜変更)
foreach($rows as $row){
$data[‘entries’][]=array(
‘title’=>$row[‘name’],
‘link’=>$config[‘base’][‘url’].’/show?id=’.$row[‘id’],
‘description’=>$row[‘message’],
‘guid’=>$row[‘id’],
‘content’=>$row[‘message’],
‘commentRss’=>$config[‘base’][‘url’].’/show?id=’.$row[‘id’],
‘lastUpdate’=>strtotime(date(‘Y-m-d H:i:s’,$row[‘created’])),
);
}
いろいろな方法が取れるとは思うが、とりあえず形になったのでメモだけしておく。