CakePHP 2.0 RSS 错误(不解析扩展)

发布于 2024-12-05 02:13:55 字数 600 浏览 1 评论 0原文

我正在将我的网站之一从 cake 1.3 迁移到 2.0 rc1,但我的 rss feed 出现问题。

当我使用 mydomain.com/mycontroller/index.rss 之类的内容调用我的提要时,出现错误:

错误:操作 index.rss 未在控制器 MycontrollerController 中定义

错误:在文件:app 中创建 MycontrollerController::index.rss() /Controller/MycontrollerController.php。

<?php
class MycontrollerController extends AppController {
    function index.rss {

    }
}
...
?>

自 1.3 以来我没有更改任何内容(并且 rss 正在工作),并且我的 paths.php 中有 parseExtensions :

Router::parseExtensions('rss', 'xml');

我在文档和谷歌中没有找到任何关于它的信息 :(

非常感谢!

I'm migrating one of my website from cake 1.3 to 2.0 rc1 and I have a problem with my rss feed.

When I call my feed with something like mydomain.com/mycontroller/index.rss I have an error :

Error: The action index.rss is not defined in controller MycontrollerController

Error: Create MycontrollerController::index.rss() in file: app/Controller/MycontrollerController.php.

<?php
class MycontrollerController extends AppController {
    function index.rss {

    }
}
...
?>

I didn't change anything since 1.3 (and rss were working), and I have the parseExtensions in my routes.php :

Router::parseExtensions('rss', 'xml');

I found nothing about it in the doc and google :(

Thanks a lot !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

打小就很酷 2024-12-12 02:13:55

控制器中的操作不应命名为 index.rss

您应该验证以下几件事:

TextHelperRequestHandlerComponent 是否都在您的控制器中调用?
• 您是否使用以下代码创建了索引操作?

if ($this->RequestHandler->isRss() ){
    $posts = $this->YourModel->find('all', array('limit' => 20, 'order' => 'Post.created DESC'));
    return $this->set(compact('posts'));
}

• 确认您已在 /View/Layouts/rss/ 中创建了 default.ctp

• 在 /View/YOUR_CONTROLLER/rss/index.ctp 中对 RSS 视图执行相同操作

另请参阅Cake 文档中的手动条目。

如果这不能解决问题,则可能与使用 mod_rewrite 进行 URL 重写有关。您还有其他无法找到网址的问题吗?

The action in your controller shouldn't be named index.rss.

You should verify a few things:

• Are both the TextHelper and RequestHandlerComponent called in your controller?
• Have you created an index action with the following code?

if ($this->RequestHandler->isRss() ){
    $posts = $this->YourModel->find('all', array('limit' => 20, 'order' => 'Post.created DESC'));
    return $this->set(compact('posts'));
}

• Verify you have created a default.ctp in /View/Layouts/rss/

• Do the same for the RSS view in /View/YOUR_CONTROLLER/rss/index.ctp

Also, see the manual entry in the Cake documentation.

If that doesn't solve the issue it could be related to URL rewriting with mod_rewrite. Do you have any other problems with URLs not being found?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文