我正在开发一个网站,其中包含活动类别和活动详情。这意味着首先我想使用事件类别表来显示所有事件,当用户选择特定事件时,将显示该类别下的所有事件。现在,如果用户将选择任何事件以获取详细信息,则网址必须如下所示:
如果用户选择任何类别的音乐'音乐',则:
www.domain.com/category/music /
当用户选择音乐类别中的活动时,请说“星夜”'然后:
www.domain.com/category/music/event/star-night
我该如何完成这项任务?
答案 0 :(得分:2)
在你的config / main.php中:
// uncomment the following to enable URLs in path-format
'urlManager' => array(
'rules' => array(
// other rules...
'category/<category>/<controller:\w+>/<slug>' => '<controller>/view',
事件/或任何控制器将处理单个项目的视图。
在每个控制器中,让视图接受一个slug / title字符串而不是通常的id。
public function actionView($slug) {
$model = $this->loadModel($slug);
public function loadModel($slug) {
$model = Event::model()->find('slug=:slug', array(':slug' => $slug));