在Cakephp中,如何在使用语言参数重新发布url时保留编辑id
我有一个支持英语和阿拉伯语的多语言网站 生成的编辑页面的URL具有以下形式:在Cakephp中,如何在使用语言参数重新发布url时保留编辑id,php,url,cakephp,cakephp-1.3,Php,Url,Cakephp,Cakephp 1.3,我有一个支持英语和阿拉伯语的多语言网站 生成的编辑页面的URL具有以下形式: eng/advisions/edit/20 我使用此html帮助程序链接更改语言: $this->Html->link('English',array('language'=>eng') 现在的问题是,当我使用上述助手更改编辑页面的语言时,我的语言确实发生了更改,但id丢失了 生成的URL为: eng/advisions/edit/ 因此,我在页面上出现错误,因为页面在加载时没有id 使用helper link方法更改
eng/advisions/edit/20
我使用此html帮助程序链接更改语言:
$this->Html->link('English',array('language'=>eng')
现在的问题是,当我使用上述助手更改编辑页面的语言时,我的语言确实发生了更改,但id丢失了
生成的URL为:
eng/advisions/edit/
因此,我在页面上出现错误,因为页面在加载时没有id
使用helper link方法更改语言时,如何保留id值?
对于所有不需要id的链接,helper链接都可以正常工作。是的,它可以正常工作。非常感谢。您能告诉我这个$this->params['pass'是什么吗命令就在这里。从视觉上看,似乎有人正在合并参数“pass”。@Fraz
$this->params
包含此请求的所有参数,如控制器名称、操作、命名参数等。请尝试调试($this->params)
params['pass']
包含未命名的参数,因此42
对于类似数组('controller'=>'foo','action'=>'bar',42)
的URL。在上面的代码中,我只是将所有这些额外参数合并到链接中,以便它们保留在生成的链接中。
$this->Html->link('English', array_merge($this->params['pass'], array('language' => 'eng')));