0

ビューには、ページの言語を変更するために使用するリンクが含まれています。インデックス、ページの追加はすべて問題ありません。しかし、URLの最後にID番号がある単一の記事の「編集」または「表示」ページに関しては、このリンクではその番号がどういうわけか省略されています。リンクはになります

http://www.xxxxxx.com/index.php/categories/view/lang:chi

明らかに、ID番号がありません。リンクは次のようになります

http://www.xxxxxx.com/index.php/categories/view/5/lang:chi

ビューファイルにリンクを生成するコードは次のとおりです

$this->Html->link($language, array('lang' => $code));

なぜ最後にID番号が付いているURLだけがこのような問題を抱えているのかわかりません。ベイクを使用したので、コントローラービューのアクションは次のようになります。

    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 に答える