我需要为函数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源而不使用会话。 请指导我。 提前致谢
答案 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')