2010-02-11 4 views
2

나는 CakePHP에서 자동화 된 사이트 맵을 만들기 위해 this tutorial을 따르고 있습니다. 모든 것이 쉽지만 XML을 출력 할 수는 없습니다.CakePHP의 자동화 된 사이트 맵

function sitemap() 
{ 
    Configure::write ('debug', 0); 
    $cats = $this->Category->find('all', array('fields' => array('nicename', 'modified')), null, -1); 
    $posts = $this->Post->find('all', array('fields' => array('name', 'modified')), null, -1); 
    $this->set(compact('cats','posts')); 
    $this->RequestHandler->respondAs('xml'); 
    $this->viewPath .= '/xml'; 
    $this->layoutPath = 'xml'; 
} 

그래서 그것을 사용하는 것처럼 컨트롤러가 보이는 레이아웃 응용 프로그램/뷰/레이아웃/XML/default.ctp

문제는 내가의 레이아웃 파일에 넣어 무슨 단서가 없다하고 있다는 점이다

튜토리얼에는 아무런 징조가 없습니다. 내가 입력하면

<?php 
    echo '<?xml version="1.0" encoding="UTF-8"?>'. "\n"; 
    echo $content_for_layout; 
?> 

나는 올바른 형식이지만 텍스트로 된 파일을 얻습니다. 내가

<?xml version="1.0" encoding="UTF-8"?> 
<?php echo $content_for_layout; ?> 

을 넣으면 XML 파서가 불평 그래서 나는 XML 파일 (파이어 폭스에서 다르게 표시됩니다)하지만, 완전히 비어을 구하십시오. 올바른 방법은 무엇입니까?

+0

링크 "이 튜토리얼"이 작동하지 않습니다. 올바른 링크로 검토하고 수정하십시오. 스 – Meer

답변

3

나는 당신의 질문에 비틀 거리며 답이 나오지 않는 것을보고 슬 was습니다. 그럼 한번 해보 죠.

컨트롤러에 이미 $this->RequestHandler->respondAs('xml');이 있으니 this comment에 따르면 충분해야합니다. 레이아웃을 비워 둡니까?

또한 사이트 맵 컨트롤러 또는 app_controller에서 어느 시점에 var $components = array('RequestHandler');이 있어야합니다.