1

我正在开发一个网站,其中包含事件类别和事件详细信息。这意味着首先我想使用事件类别表来显示所有事件,当用户选择特定事件时,将显示该类别下的所有事件。现在,如果用户将选择任何事件以获取详细信息,则 URL 必须如下所示:

如果用户选择任何事件类别说“音乐”,那么:

www.domain.com/category/music/

当用户在音乐类别中选择事件时说“星夜”,那么:

www.domain.com/category/music/event/star-night

我怎样才能完成这项任务?

4

1 回答 1

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));
于 2013-04-24T06:24:41.547 回答