只更改url的扩展名,保留query-string

时间:2014-09-12 11:24:26

标签: cakephp cakephp-2.5

我有一个搜索表单,它使用get-parameters来确定搜索的内容,并希望将搜索结果作为rss-feed。

所以我使用路由rss-extension来获取那些可用的,并且想要为该搜索/查询生成到rss feed的链接。

$this->Html->link(__("Search results as rss"), ['ext' => 'rss']);遗漏了所有的参数,我还没有找到一种以理智的方式提取get-params的方法。 是否有一些快捷方式只使用实际的当前网址并更改扩展名?

到目前为止,我找到的最好的方法是: $this->Html->link(__("Search results"), ['ext' => 'rss', '?' => $this->passedArgs]); 还有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

是的,您可能想要使用

'?' => $this->request->query

然后它只使用查询字符串 - 这毕竟是你想要的。

答案 1 :(得分:0)

以下是我使用的代码,不知道$this->link是否以相同的方式工作:

$url = $this->params['url'];

echo $this->Form->create(null, array(
    'url' => array(
    'action' => 'yourAction',
    '?' => $url,
    'ext' => 'rss'
    )
));
echo $this->Form->end('Search Results');