'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
'rules' => array(
'<username:\w+>' => 'user/details',
'<username:\w+>/profile' => 'user/profile',
'<username:\w+>/collection' => 'user/collection',
//...ниже другие правила для модулей и прочего, дабы не пересекалось с именем юзера
//...
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
),
Class UserController extends Controller {
public function actionDetails($username) {
$user = User::model()->findByUsername($username); //Туда и проверки всякие запихать можно например
$this->render('details', ['user' => $user]);
}
public function actionProfile($username) {
$user = User::model()->findByUsername($username); //Туда и проверки всякие запихать можно например
$this->render('profile', ['user' => $user]);
}
public function actionCollection($username) {
$user = User::model()->findByUsername($username); //Туда и проверки всякие запихать можно например
$this->render('collection', ['user' => $user]);
}
}