gpt4 book ai didi

php - CakePHP 中的自动化站点地图

转载 作者:行者123 更新时间:2023-12-04 06:58:30 27 4
gpt4 key购买 nike

我关注 this tutorial用于在 CakePHP 中创建自动站点地图。一切都很简单,但我无法输出 XML。 Controller 看起来像

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';
}

所以它使用布局 app/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 解析器会报错。什么是正确的方法?

最佳答案

我只是偶然发现了你的问题,很遗憾看到它没有得到答复。所以让我们试一试。

在您的 Controller 中,您已经拥有 $this->RequestHandler->respondAs('xml');所以根据this comment ,应该足够了。您是否尝试将布局留空?

另外,你应该有 var $components = array('RequestHandler');在您的站点地图 Controller 或您的 app_controller 中的某个时间点。

关于php - CakePHP 中的自动化站点地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2246353/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com