怎样在Yii中显示静态页

在web应用中,我们经产更需要显示静态页,如“关于我们”等,这些文件通常是静态页,通常有如下几种处理方法:

1.把独立的html文件存在Web服务器能直接访问的目录下。这种方案的缺点是很难维护网页布局以及和动态页的连接. 

2.可以自己写action赖渲染view文件处理每一个静态页,这样解决了layout问题,但是为每一个页写一个单独的action,特别是这个action仅仅处理一个静态文本,非常麻烦。 

3.使用Yii内置的一个CViewAction来服务所有这些页。 

下面就介绍第三种方法: 
首先,建立以个controller类如DocController,覆盖actions方法 

Php代码  收藏代码
  1. public function actions()  
  2. {  
  3.     return array(  
  4.         'page'=>array(  
  5.             'class'=>'CViewAction',  
  6.         ),  
  7.     );  
  8. }  


根据官方指南,以上代码声明了一个外部action类CViewAction. 

然后,生成目录protected/views/site/pages. 

最后,在该目录下存储一个文件叫about.php,内容为:"about this site" ,此时这些页将使用应用的默认布局文件。因此该文件仅仅描述本页相关内容。 

http://www.yourhost.com/index.php?r=doc/page&view=about 

如果有很多静态页,可以将其放在子目录里,假设有一个有静态页在protected/views/site/pages/help/contact.php:

http://www.yourhost.com/index.php?r=site/page&view=help.contact 

当然,我们也可以定制CViewAction的行为,察看API文档了解更多有关于CViewAction 

 

From: http://koda.iteye.com/blog/466542

posted on 2013-11-08 18:23  imxiu  阅读(413)  评论(0编辑  收藏  举报

导航