Как создать единую статическую страницу в Yii, которую могут просматривать только зарегистрированные пользователи?Как я могу ограничить доступ к одной статической странице для аутентифицированных пользователей в Yii?
ответ
Существует хорошая документация о том, как включить Yii's access control filter для действия контроллера на направляющей. Вам нужно будет сделать действие контроллера, которое отображает статическое представление, и ограничить доступ к этому действию на основе учебника.
Вы должны создать действие внутри контроллера, скажет public function actionStaticpage()
и:
Это действие будет обрабатывать вид рендеринг статичного содержания вы можете показать, то есть некоторые инструкции/чаво для зарегистрированных пользователей, учебник и т.д. например:
public function actionStaticpage() {
$this->render('faq');
}
Вы теперь должны указать, что это действие предназначено для просмотра только для зарегистрированных пользователей. Вы можете выполнить это, используя функцию вашего контроллера accessRules()
. Это было бы примерно так:
public function accessRules()
{
return array(
array('allow', // allow authenticated user to perform these actions
'actions'=>array('staticpage'),
'users'=>array('@'),
),
);
}
И все. Вы также можете сделать свою статическую страницу более динамичной, например, имея параметр внутри нее, указав, какой статический контент вы хотите отобразить public function actionStaticpage($page)
, а затем с помощью switch
или if
инструкций для корректного отображения содержимого.
Спасибо за это; Я узнал довольно немного, просматривая вашу ссылку и раздел фундамента: http://www.yiiframework.com/doc/guide/1.1/en/basics.controller –
@Bob: Приятно помочь. Почитайте как можно больше этого руководства, как вы можете ассимилироваться (я делал это по частям), это очень полезно. – Jon