`

YII中加载静态页面

    博客分类:
  • Yii
 
阅读更多

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

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

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

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

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

 

public function actions()
{
    return array(
        'page'=>array(
            'class'=>'CViewAction',
        ),
    );
}

 

 

根据官方指南,以上代码声明了一个外部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 

 

本质而言,这就是yii的controller中外挂action

创建:

class UpdateAction extends CAction {
  public function run() {
    // place the action logic here
  }
}

 调用:

class PostController extends CController {
  public function actions() {
    return array( 'edit'=>'application.controllers.post.UpdateAction', );
  }
}
 

 

 

 

 

分享到:
评论

相关推荐

    Yii2 加载css、js 载静态资源的方法

    正确地加载静态资源不仅可以提升页面加载速度,还可以改善用户的浏览体验。本文详细介绍了Yii2中管理静态资源的方法,特别强调了如何在页面底部加载JavaScript代码以避免页面空白问题,以及如何解决在页面底部加载JS...

    yii2 页面底部加载css和js的技巧

    在Yii2中使用自定义的资产包时,可以在`AppAsset`类中添加静态方法来实现按需加载JavaScript和CSS文件。`addScript`和`addCss`方法允许你轻松地注册脚本和样式文件,同时确保这些文件的加载顺序在所有的Yii脚本和...

    Yii框架学习笔记

    在Yii中,静态资源如CSS、图片和JS通常放在统一的目录下,通过常量引用,便于管理和调用。例如,创建`UserController`和`actionLogin`方法,配合视图文件`views/user/login.php`,可以实现用户登录功能。路由系统...

    Yii2.0视频教程

    - 页面缓存:将整个页面内容缓存起来,加速页面加载速度。 - **静态资源管理**:通过Asset Bundle组件统一管理CSS、JS等静态资源文件,减少HTTP请求次数。 - 文件合并压缩:将多个文件合并成一个文件,并进行Gzip...

    Yii2框架加载css和js文件的方法分析

    Yii2框架提供了一种有效的方式来管理和加载这些静态资源文件,确保了加载过程的高效性和优化。 在Yii2框架中,推荐的做法是将CSS和JavaScript文件放置在Web根目录下的特定目录中,通常是`web`目录。这样做是为了...

    yii框架笔记,绝对值得经典

    - **高性能**:得益于其优秀的架构设计和内置的多种优化机制,如惰性加载和缓存支持等,Yii能够提供卓越的性能表现。 - **代码重用性**:Yii提供了丰富的组件库,这些组件可以很容易地被重用于不同的项目中,从而...

    advanced yii2框架

    在Yii2 Advanced框架中,主要包含以下几个关键组成部分: 1. **前端**(frontend):这是用户直接交互的部分,通常包括网站的公共部分,如登录、注册、首页等。前端应用有自己的配置、模型、视图和控制器,与后端...

    yii2.0-Ueditor百度编辑器

    2. **配置**:在Yii2.0的配置文件中,例如`config/web.php`,你需要配置AssetManager,以便正确加载Ueditor所需的静态资源。添加或修改如下代码: ```php 'components' => [ 'assetManager' => [ 'bundles' => ...

    yii-basic-app-2.0.35.tgz

    6. **持续集成与部署**:Yii2支持Composer的自动加载和依赖管理,使得应用的扩展和升级变得更加便捷。通过Git进行版本控制,结合持续集成工具(如Jenkins、Travis CI等),可以实现自动化测试和部署。 总之,"yii-...

    Yii入门教程之目录结构、入口文件及路由设置

    在这个文件中,我们通常会看到Yii::createWebApplication()函数的调用,这个函数创建了一个Web应用程序实例,并加载了配置文件,使得全局的Yii对象可以通过Yii::app()访问。配置文件中的数据会被绑定到这个全局对象...

    Yii 2.0开发一个仿京东商城平台

    Yii 2.0相比上一代版本进行了重大的改进,包括引入了Composer作为依赖管理工具、使用了更现代的设计模式(如PSR-4自动加载)等,这使得Yii 2.0成为构建复杂Web应用的理想选择之一。 #### 三、项目需求分析 1. **...

    Yii_Cookbook

    在Yii中显示静态页面 - **知识点**:实现静态内容的呈现。 - **实现方式**:创建一个控制器和视图来专门处理静态页面的请求。 ##### 23. 扩展yiic命令行工具 - **知识点**:学习如何编写自己的yiic命令行命令。...

    yii 框架手册,有PDF、CHM等格式

    - 静态页面缓存:使用 Yii 的页面缓存组件来减少数据库查询,提高页面加载速度。 - 数据库查询优化:指导如何优化 SQL 查询,减少不必要的数据库操作。 7. **国际化与本地化**: - I18N(国际化)与 L10N(本地...

    Yii+2.0+培训大纲共39页.pdf.zip

    - 页面级缓存:开启和配置,提高静态内容的加载速度。 - 资源优化:合并CSS和JavaScript,减少HTTP请求。 8. **RESTful Web服务** - REST原则:理解资源、状态和操作。 - 创建API:使用Yii的RESTful功能创建和...

    Yii2中使用asset压缩js,css文件的方法

    在Yii2中,资产(Assets)指的是JavaScript、CSS、图片和其他静态资源文件。为了提高网页加载速度和性能,通常需要对这些资源文件进行压缩。Yii2框架提供了内置的工具来压缩和管理资产文件。本文将详细介绍在Yii2中...

    Yii 1.1 Application Development Cookbook.pdf

    - **页面缓存**:提高静态或变化较小内容的加载速度。 - **片段缓存**:对页面中特定部分进行缓存。 - **数据缓存**:缓存数据库查询结果或其他计算结果,减少数据库负载。 ##### 7. 国际化与本地化 - **语言切换**...

    yii框架创建与设置默认控制器并载入模板操作示例

    在本教程中,我们将探讨如何在Yii框架中创建和设置默认控制器,以及如何载入模板。 **一、创建控制器** 创建控制器是Yii应用程序的基本步骤。在`protected/controllers`目录下,你需要创建一个新的PHP文件,如`...

    基于PHP的KASEN动漫伪静态缓存版 php版.zip

    2. **伪静态技术**:KASEN动漫网站采用了伪静态URL,使得原本动态的网页URL看起来像静态页面,有利于SEO和用户体验。 3. **缓存机制**:通过缓存策略,网站能够快速响应用户的请求,减少服务器负载,提高页面加载...

Global site tag (gtag.js) - Google Analytics