I am using "yii user" (modules/user), now the user url is - mysite.com/user/user/view/id/1
and i want change to - mysite.com/profile/username
User controller is -
public function actionView()
{
$model = $this->loadModel();
$this->render('view',array(
'model'=>$model,
));
}
public function loadModel()
{
if($this->_model===null)
{
if(isset($_GET['id']))
$this->_model=User::model()->findbyPk($_GET['id']);
if($this->_model===null)
throw new CHttpException(404,'The requested page does not exist.');
}
return $this->_model;
}
/**
* Returns the data model based on the primary key given in the GET variable.
* If the data model is not found, an HTTP exception will be raised.
* @param integer the primary key value. Defaults to null, meaning using the 'id' GET variable
*/
public function loadUser($id=null)
{
if($this->_model===null)
{
if($id!==null || isset($_GET['id']))
$this->_model=User::model()->findbyPk($id!==null ? $id : $_GET['id']);
if($this->_model===null)
throw new CHttpException(404,'The requested page does not exist.');
}
return $this->_model;
}
i try this:
url manage-
'profile/<username>' => 'user/user/view',
but its still not working becouse the model need id in url.
any idea please?