0

我的视图包含一个用于更改页面语言的链接。索引,添加页面都很好。但是当涉及到单个文章的“编辑”或“查看”页面时,在 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));
    }

有谁知道发生了什么?

4

1 回答 1

0

如果你没有在链接数组中指定 id,它将不会被使用。如果省略它们,则添加的唯一“魔术”是控制器和动作。

创建链接时需要传递 id:

$this->Html->link($language, array('lang' => $code, $id));
于 2012-06-14T15:14:20.777 回答