好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

前段时间和大家讨论过 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://HdhCmsTestw3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html xmlns="http://HdhCmsTestw3.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  

查看更多关于基于YIi的三栏frameset框架后台管理页面的实现基础的详细内容...

  阅读:47次