2011-12-13 11 views
0

私はCakePHP 2.0(私はv2.0.3と思われます)とPHP 5.3.8を使用しています。Cake w/url extensionsを使用する

私は、CakeのURL拡張のサポートを利用したアプリケーションに取り組んでいます。具体的には、URLリクエストが.xml拡張子で終わるたびにXMLを出力しています。拡張子なしでurlリクエストが行われた場合、私のアプリケーションはstardardビューを表示します。出力XMLに

1. Added support for url extension; added the following line to route.php -- Router::parseExtensions('xml'); 
2. Added support request handling; added the following line to MyController.php -- public $components = array('Session', 'RequestHandler'); 

、私はPHPの「にSimpleXMLElement」クラスと一緒にケーキの「XML」クラスを使用しています: - このすべてが美しく働く

request .../controller/action.xml renders via view/controller/xml/action.ctp while request .../controller/action renders via view/controller/action.ctp. 

これを実現するために、私は次のようでした。私の問題は、完全なXMLが生成されないことです。クラスは入力されたPHP配列に基づいてXMLを生成すると仮定していますが、完全な配列は処理されていないようです。私のXML出力は部分的です。

次のように私のビューファイル(.ctp)での私のソースコードは次のとおりです。

$ simple_xml_elem = XML ::ビルド($ xml_array)。 echo $ simple_xml_elem-> asXML();

興味深いことに、この問題をデバッグしようとしているうちに、xmlビューファイル(../view/controller/xml/action)内にビューオブジェクトをダンプしようとすると、 .ctp)。 'var_dump($ this)'は、ビューの部分的なダンプだけを出力します。標準ビュー・ファイル(../view/controller/action.ctp)内で実行された同じビュー・ダンプは、ビューのフル・ダンプを出力します。

標準ビューが要求されているときよりもURL拡張のためにルーティングするとき、Cakeは何とかビュー環境を別々に設定していると私は考えます。

私は髪を失う前に、私のためにいくつかの光を当ててください。お願いします????ありがとう!

答えて

0

あなたは&要求が

http://mark-story.com/posts/view/the-cakerequest-object-in-cakephp-2-0オブジェクト応答を見てきました - ケーキ2は、私が思うアルファだったが、マークはリクエストオブジェクト(応答のための別のエントリ)

両方の概念について話すとき、記事が書かれていましたオブジェクトは今のコントローラ http://book.cakephp.org/2.0/en/controllers/request-response.html

に渡され、私は(それはそれなしで行うことができますが)あなたはレイアウトの切り替えを処理するために要求カンプを使用すると信じて

関連する問題