我的视图包含用于更改页面语言的链接。索引,添加页面都很好。但是当涉及到单个文章的“编辑”或“查看”页面时,URL的末尾有一个ID号,这个号码在这个链接上以某种方式被省略了。链接变为
http://www.xxxxxx.com/index.php/categories/view/lang:chi
显然缺少身份证号码。链接应该是这样的
http://www.xxxxxx.com/index.php/categories/view/5/lang:chi
在视图文件中生成链接的代码是
$this->Html->link($language, array('lang' => $code));
我不知道为什么只有最后带有ID号的URL才会出现这样的问题。我使用了bake,因此控制器视图操作如下:
public function view($id = null) {
$this->Category->id = $id;
if (!$this->Category->exists()) {
throw new NotFoundException(__('Invalid category'));
}
$this->set('category', $this->Category->read(null, $id));
}
任何人都知道发生了什么事?
答案 0 :(得分:0)
如果未在链接数组中指定id,则不会使用它。如果省略它们,则添加的唯一“魔法”是控制器和动作。
创建链接时需要传递id:
$this->Html->link($language, array('lang' => $code, $id));