.ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録

.検索

.メインメニュー

.フォーラムメニュー

.オンライン状況
15 人のユーザが現在オンラインです。 (13 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 15

もっと...

.
.リンク集

メイン
   一般的な話題(General)
     1.2でのRSS出力の仕組み
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
news
投稿日時: 2008-3-28 9:31
Cake 職人
登録日: 2007-4-4
居住地:
投稿: 1277
1.2でのRSS出力の仕組み
1.2では、

コントローラに

<?php
var $components = array('RequestHandler');
?>


Route.phpに

<?php
Router
::parseExtensions();
?>


と書くだけで、
www.example.com/posts.rss
というアクセスが来た際に
app/views/posts/rss/index.ctp
を使うようになるそうです。ビューを用意すれば、即、RSSの配信が可能になります。

ビューでは、

<?php
echo $rss->items($posts, array($theHelper'callbackFunction'));
?>


として、データを整形できるということです。詳細は下記をどうぞ。

anupom.toString( );
RSS in CakePHP 1.2
http://anupom.wordpress.com/2008/03/12/rss-in-cakephp-12/
max
投稿日時: 2008-5-15 10:59
Baker ユーザ
登録日: 2006-11-7
居住地:
投稿: 28
Re: 1.2でのRSS出力の仕組み
RequestHandler使うと便利ですね。

RSS用のレイアウトをcake/libs/view/template/layouts/rss/default.ctpからapp/view/layouts/rss/以下にコピーする。

view/コントローラ/rss/アクション.ctpに以下のようなコードを記述する。

$this->set('channel',  array (
          'title'               => 'POSTS RSS',				
          'link'               => 'http://www.yourdomain.com/',
	  'description'  => 'Posts RSS'));


echo $rss->items($posts, 'transformRSS');
			
function transformRSS($posts) {
	return array(
	'title'       => $posts['Post']['title'],
	'link'        => array('action' => 'view', $posts['Post']['id']),
	'guid'        => array('action' => 'view', $posst['Post']['id']),
	'description' => $posts['Post']['body'],
	'pubDate'     => $posts['Post']['created']
);
}


channelのタイトルを省略すればコントローラのpageTitleで代用されます。
つまり、HTML用のアクションが作成済みなら全く変更なしでビューさえ準備すればRSSを出力できます。

#デバック出力があるとRSSリーダーで読めないので注意。
kanbe
投稿日時: 2008-9-9 23:06
Baker ユーザ
登録日: 2008-4-17
居住地:
投稿: 40
Re: 1.2でのRSS出力の仕組み
すみません、蛇足かもしれませんが、


$this->set('channel', channel = array (



channel =

は不要だったりしないでしょうか。


また、

echo $rss->items($posts, 'transformRSS'));

において、最後の ) がひとつ多いような気がします。


念のためご報告まで。
max
投稿日時: 2008-9-10 10:43
Baker ユーザ
登録日: 2006-11-7
居住地:
投稿: 28
Re: 1.2でのRSS出力の仕組み
ご指摘、ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 


. .