您的位置:首页 > 编程语言 > PHP开发

基于YIi的三栏frameset框架后台管理页面的实现

2009-12-02 17:43 615 查看
前段时间和大家讨论过 yii后台管理页面结构实现方法的问题,现在我的项目接近收尾,向大家分享一下我的后台管理页面实现,
就是那种常见的frameset三栏布局,主要代码如下:

SiteController.php

<?php 
 
class SiteController extends CController 
{ 
        /** 
         * Declares class-based actions. 
         */ 
        public function actions() 
        { 
                return array( 
                        // captcha action renders the CAPTCHA image 
                        // this is used by the contact page 
                        'captcha'=>array( 
                                'class'=>'CCaptchaAction', 
                                'backColor'=>0xEBF4FB, 
                        ), 
                ); 
        } 
 
        /** 
         * This is the default 'index' action that is invoked 
         * when an action is not explicitly requested by users. 
         */ 
        public function actionIndex() 
        { 
                // renders the view file 'protected/views/site/index.php' 
                // using the default layout 'protected/views/layouts/main.php' 
 
                 
//注意运行yiic shell前需要改回$this->render('index'); 否则无法进入shell 
                $this->render('index'); 
        } 
 
        /** 
         * Displays the contact page 
         */ 
        public function actionContact() 
        { 
                $contact=new ContactForm; 
                if(isset($_POST['ContactForm'])) 
                { 
                        $contact->attributes=$_POST['ContactForm']; 
                        if($contact->validate()) 
                        { 
                                $headers="From: {$contact->email}/r/nReply-To: {$contact->email}"; 
                                mail(Yii::app()->params['adminEmail'],$contact->subject,$contact->body,$headers); 
                                Yii::app()->user->setFlash('contact','Thank you for contacting us. We will respond to you as soon as possible.'); 
                                $this->refresh(); 
                        } 
                } 
                $this->render('contact',array('contact'=>$contact)); 
        } 
 
        /** 
         * Displays the login page 
         */ 
        public function actionLogin() 
        { 
                $form=new LoginForm; 
                // collect user input data 
                if(isset($_POST['LoginForm'])) 
                { 
                        $form->attributes=$_POST['LoginForm']; 
                        // validate user input and redirect to previous page if valid 
                        if($form->validate()) 
                                $this->redirect(Yii::app()->user->returnUrl); 
                } 
                // display the login form 
                $this->layout='login'; 
                $this->render('login',array('form'=>$form)); 
        } 
 
        /** 
         * Logout the current user and redirect to homepage. 
         */ 
        public function actionLogout() 
        { 
                Yii::app()->user->logout(); 
                $this->redirect(Yii::app()->homeUrl); 
        } 
        /** 
         * 管理框架页 
         */ 
        public function actionDefault() 
        { 
                if(Yii::app()->user->isGuest){ 
                        $this->redirect(array('site/login')); 
                } 
                else{ 
                        $this->renderPartial('default'); 
                } 
        } 
    /** 
         * 管理框架页 Head 
         */ 
        public function actionHead() 
        { 
                if(Yii::app()->user->isGuest){ 
                        $this->redirect(array('site/login')); 
                } 
                else{ 
                        $this->renderPartial('head'); 
                } 
        } 
    /** 
         * 管理框架页 left 
         */ 
        public function actionLeft() 
        { 
                if(Yii::app()->user->isGuest){ 
                        $this->redirect(array('site/login')); 
                } 
                else{ 
                        Yii::app()->getClientScript()->registerCoreScript('jquery'); 
                        $this->layout='left'; 
                        $this->render('left'); 
                } 
        } 
}


views/site/default.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title></title> 
</head> 
 
<frameset rows="92,*" cols="*" frameborder="no" border="0" framespacing="0"> 
  <frame src="<?php echo Yii::app()->request->baseUrl; ?>/index.php/site/head" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" /> 
  <frameset cols="215,*" frameborder="no" border="0" framespacing="0"> 
    <frame src="<?php echo Yii::app()->request->baseUrl; ?>/index.php/site/left" scrolling="no" noresize="noresize" id="leftFrame" /> 
    <frame src="" name="mainFrame" id="mainFrame" /> 
  </frameset> 
</frameset> 
<noframes><body> 
</body> 
</noframes></html>


其它相关的layout和view文件就不提供了,就是简单的html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐