【发布时间】:2013-12-14 18:50:54
【问题描述】:
我正在尝试让我的 CakePHP 应用程序使用 slugs 而不是 ids。我已经阅读了几个教程和关于它的 CakePHP 书,但我一定错过了一些简单的东西。
我的表格有一个“slug”字段,我想将其用于 URL 而不是默认 ID。
我将我的 ItemsController 视图更改为:
public function view($slug = null) {
if (!$this->Item->exists($slug)) {
throw new NotFoundException(__('Invalid item'));
}
$this->set('item', $this->Item->findBySlug($slug));
}
并将其添加到我的 routes.php 中
Router::connect(
'/items/:slug',
array('controller' => 'items', 'action'=>'view'),
array('pass'=>array('slug'))
);
然而,当我去:
mycakeapp/items/slug-value
但是,如果我将所有内容从“slug”更改为“id”,那么 URL:
mycakeapp/items/id-value
效果很好
有人可以帮助我吗?提前致谢。
【问题讨论】:
标签: cakephp routes cakephp-2.0