ビューをXmlで出力したい場合の注意
$Model->findの結果をxml形式で出力したい場合
セットアップ
// routes.php Router::parseExtensions('xml');
~/:controller/:action.xmlにアクセスすると
/views/コントローラ名/xml/アクション名.ctpのviewが使われる。
コントローラ
// これがないとViewが見つからないエラーになる。 var $components = array('RequestHandler'); // アクション public function xmlTest() { // 通常通りにビューに渡したいデータをセットする $this->set('data', $this->TestModel->find('all')); }
ビューテンプレート
/views/layouts/xml/default.ctp
<?php header("content-type: text/xml"); ?> <?php echo $xml->header(); ?> <?php echo $content_for_layout; ?>
ビュー実装
<hoges> <?php echo $xml->serialize($data);?> </hoges>
var $components = array('RequestHandler');を忘れずに。