在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中管理静态资源的方法,特别强调了如何在页面底部加载JavaScript代码以避免页面空白问题,以及如何解决在页面底部加载JS...
在Yii2中使用自定义的资产包时,可以在`AppAsset`类中添加静态方法来实现按需加载JavaScript和CSS文件。`addScript`和`addCss`方法允许你轻松地注册脚本和样式文件,同时确保这些文件的加载顺序在所有的Yii脚本和...
在Yii中,静态资源如CSS、图片和JS通常放在统一的目录下,通过常量引用,便于管理和调用。例如,创建`UserController`和`actionLogin`方法,配合视图文件`views/user/login.php`,可以实现用户登录功能。路由系统...
- 页面缓存:将整个页面内容缓存起来,加速页面加载速度。 - **静态资源管理**:通过Asset Bundle组件统一管理CSS、JS等静态资源文件,减少HTTP请求次数。 - 文件合并压缩:将多个文件合并成一个文件,并进行Gzip...
Yii2框架提供了一种有效的方式来管理和加载这些静态资源文件,确保了加载过程的高效性和优化。 在Yii2框架中,推荐的做法是将CSS和JavaScript文件放置在Web根目录下的特定目录中,通常是`web`目录。这样做是为了...
- **高性能**:得益于其优秀的架构设计和内置的多种优化机制,如惰性加载和缓存支持等,Yii能够提供卓越的性能表现。 - **代码重用性**:Yii提供了丰富的组件库,这些组件可以很容易地被重用于不同的项目中,从而...
在Yii2 Advanced框架中,主要包含以下几个关键组成部分: 1. **前端**(frontend):这是用户直接交互的部分,通常包括网站的公共部分,如登录、注册、首页等。前端应用有自己的配置、模型、视图和控制器,与后端...
2. **配置**:在Yii2.0的配置文件中,例如`config/web.php`,你需要配置AssetManager,以便正确加载Ueditor所需的静态资源。添加或修改如下代码: ```php 'components' => [ 'assetManager' => [ 'bundles' => ...
6. **持续集成与部署**:Yii2支持Composer的自动加载和依赖管理,使得应用的扩展和升级变得更加便捷。通过Git进行版本控制,结合持续集成工具(如Jenkins、Travis CI等),可以实现自动化测试和部署。 总之,"yii-...
在这个文件中,我们通常会看到Yii::createWebApplication()函数的调用,这个函数创建了一个Web应用程序实例,并加载了配置文件,使得全局的Yii对象可以通过Yii::app()访问。配置文件中的数据会被绑定到这个全局对象...
Yii 2.0相比上一代版本进行了重大的改进,包括引入了Composer作为依赖管理工具、使用了更现代的设计模式(如PSR-4自动加载)等,这使得Yii 2.0成为构建复杂Web应用的理想选择之一。 #### 三、项目需求分析 1. **...
在Yii中显示静态页面 - **知识点**:实现静态内容的呈现。 - **实现方式**:创建一个控制器和视图来专门处理静态页面的请求。 ##### 23. 扩展yiic命令行工具 - **知识点**:学习如何编写自己的yiic命令行命令。...
- 静态页面缓存:使用 Yii 的页面缓存组件来减少数据库查询,提高页面加载速度。 - 数据库查询优化:指导如何优化 SQL 查询,减少不必要的数据库操作。 7. **国际化与本地化**: - I18N(国际化)与 L10N(本地...
- 页面级缓存:开启和配置,提高静态内容的加载速度。 - 资源优化:合并CSS和JavaScript,减少HTTP请求。 8. **RESTful Web服务** - REST原则:理解资源、状态和操作。 - 创建API:使用Yii的RESTful功能创建和...
在Yii2中,资产(Assets)指的是JavaScript、CSS、图片和其他静态资源文件。为了提高网页加载速度和性能,通常需要对这些资源文件进行压缩。Yii2框架提供了内置的工具来压缩和管理资产文件。本文将详细介绍在Yii2中...
- **页面缓存**:提高静态或变化较小内容的加载速度。 - **片段缓存**:对页面中特定部分进行缓存。 - **数据缓存**:缓存数据库查询结果或其他计算结果,减少数据库负载。 ##### 7. 国际化与本地化 - **语言切换**...
在本教程中,我们将探讨如何在Yii框架中创建和设置默认控制器,以及如何载入模板。 **一、创建控制器** 创建控制器是Yii应用程序的基本步骤。在`protected/controllers`目录下,你需要创建一个新的PHP文件,如`...
2. **伪静态技术**:KASEN动漫网站采用了伪静态URL,使得原本动态的网页URL看起来像静态页面,有利于SEO和用户体验。 3. **缓存机制**:通过缓存策略,网站能够快速响应用户的请求,减少服务器负载,提高页面加载...