如何创建此 urlManager 规则?
How to create this urlManager rule?
首先请原谅我的英语水平低
在名为 webController 的控制器中执行以下操作:
public function actionPage($view = 'index')
{
try {
return $this->render('site/page/' . $view);
} catch (InvalidParamException $e) {
throw new HttpException(404);
}
}
我需要一个规则来执行以下操作:
localhost/cookies
equals
localhost/?r=web/page&view=cookiesyprivacidad
或
localhost/faq
equals
localhost/?r=web/page&view=preguntas
像这样:
'rules'=>array(
'cookies'=>'web/page'
)
但是增加了固定参数。
如果我是你,我会让事情变得简单一点。我会为控制器中的每个视图创建一个动作,并使用 urlmanager 路由到正确的控制器动作
'rules'=>array(
'cookies'=>'page/cookiesyprivacidad',
'faq'=>'page/preguntas',
)
public function actionCookiesyprivacidad()
{
try {
return $this->render('site/page/cookiesyprivacidad');
} catch (InvalidParamException $e) {
throw new HttpException(404);
}
}
public function actionPreguntas()
{
try {
return $this->render('site/page/preguntas');
} catch (InvalidParamException $e) {
throw new HttpException(404);
}
}
你需要这个
'urlManager' => array(
'rules' => array(
<view:(cookies|faq)>' => 'web/page'
)
)
首先请原谅我的英语水平低
在名为 webController 的控制器中执行以下操作:
public function actionPage($view = 'index')
{
try {
return $this->render('site/page/' . $view);
} catch (InvalidParamException $e) {
throw new HttpException(404);
}
}
我需要一个规则来执行以下操作:
localhost/cookies
equals
localhost/?r=web/page&view=cookiesyprivacidad
或
localhost/faq
equals
localhost/?r=web/page&view=preguntas
像这样:
'rules'=>array(
'cookies'=>'web/page'
)
但是增加了固定参数。
如果我是你,我会让事情变得简单一点。我会为控制器中的每个视图创建一个动作,并使用 urlmanager 路由到正确的控制器动作
'rules'=>array(
'cookies'=>'page/cookiesyprivacidad',
'faq'=>'page/preguntas',
)
public function actionCookiesyprivacidad()
{
try {
return $this->render('site/page/cookiesyprivacidad');
} catch (InvalidParamException $e) {
throw new HttpException(404);
}
}
public function actionPreguntas()
{
try {
return $this->render('site/page/preguntas');
} catch (InvalidParamException $e) {
throw new HttpException(404);
}
}
你需要这个
'urlManager' => array(
'rules' => array(
<view:(cookies|faq)>' => 'web/page'
)
)