Я следую этому руководству для создания автоматических карт сайтов в CakePHP. Все легко, но я не могу выводить XML. Контроллер выглядит как
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';
}
, поэтому он использует приложение макета / views / layouts / 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 (он отображается по-другому в Firefox), но полностью пустой, поэтому анализатор XML жалуется. Какой правильный путь?