使用参数为动作生成rss feed

时间:2013-02-22 09:15:29

标签: cakephp rss

我需要为函数productList生成一个RSS提要,它根据类别创建一个分页的产品列表。该函数的原型是

public function productList($category){}

此功能位于Products控制器中。我看过有关如何生成RSS提要的教程。 在教程中,函数的原型是

public function index(){}

该函数没有参数。在本教程中,生成RSS源的链接是app_name/Products/index.rss。在我的情况下,这种类型的链接是不可能的,因为函数productList有一个参数。我想根据所选类别(该类别中的15个最新产品)生成RSS。如何为Cakephp中带参数的函数生成RSS。 一种方法是在session中设置参数而不传递参数.i.e。将$ category放入会话中,以便函数原型成为

public function productList()

然后我将不得不使用不同的函数来生成RSS提要,而另一个用于生成输出。 有没有办法可以使用相同的函数productList生成RSS源而不使用会话。 请指导我。 提前致谢

1 个答案:

答案 0 :(得分:0)

我知道的两个选项:

1]在网址中使用名为params,例如example.com/controller/productList/category:2/.rss 然后,您的productList操作中的类别可以$this->params['named']['category'] == 2

进行访问

2]通过路由进行,例如在routes.php中定义一条路线,如

Router::connect('/engines', array('controller'=>'c', 'action'=>'productList', 'engines');
Router::connect('/gears',   array('controller'=>'c', 'action'=>'productList', 'gears');
如果是example.com/engines.rss,那么

parseExtension一起将调用productList('engines')