修改应用的配置文件(protected/config/main.php)中加入

return array(

’theme’=>’basic’,

);

所有的视图文件必须位于views下 ,布局视图文件在views/layouts下 ,和系统视图文件在views/system下
例如,如果我们要替换PostController的create 视图文件为classic主题下,我们将保存新的视图文件为WebRoot/themes/classic/views/post/create.php。
 当我们调用render或renderPartial显示视图,相应的view(视图)文件以及布局文件将在当前激活的主题里(themes/$themeName/views/)寻找。如果发现,这些文件将被渲染。否则,就后退到应用的视图目录下(application/views/)寻找。
 在一个主题的视图内部,我们经常需要链接其他主题的资源文件。例如,我们可能要显示一个在主题下images目录里的图像文件,

方法为:yii: :app()->theme->baseUrl .'/images/FileName.gif'

使用例子:

WebRoot/

assets

protected/

.htaccess

components/

controllers/

models/

views/

layouts/

main.php

site/

index.php

themes/

basic/

views/

.htaccess

layouts/

main.php

site/

index.php

fancy/

views/

.htaccess

layouts/

main.php

site/

Index.php

如果在应用配置(protected/config/main.php)中配置

return arrray(

'theme' => 'basic',

)

Basic主题将生效,意味着应用的布局将使用 目录 themes/basic/views/layouts 下的视图,
站点的 index 视图将使用 目录 themes/basic/views/site 下的视图。若在主题中没有找到一个视图文件,
它 将后退到目录 protected/views。

Skins(换肤)

使用皮肤来系统化的定制视图中的 widget 的外观,

为了使用皮肤特征,我们首先需要改变应用配置(protected/config/main.php)来安装 widgetFactory 组件,配置如下:

return array(

’components’=>array(

’widgetFactory’=>array(

’class’=>’CWidgetFactory’,

),

),

);

属于同一个
widget 类的皮肤被存储在 一个名字和此 widget 类相同的单个PHP脚本文件中,默认地,所有这些皮肤文件存储在目录
protected/views/skins中,当使用主题时, Yii 将也在主题的视图目录中的 skins
目录寻找皮肤。(例如WebRoot/themes/$themeName/views/skins)

例如,我们创建一个名为 CLinkPager.php 的文件到目录 protected/views/skins(或者themes/$themeName/views/skins), 它的内容如下,

<?php

return array(

'default' => array(//

'nextPageLabel' => '上一页',

'prevPageLabel' => '下一页',

'maxButtonCount' => 10,

//'header' => '',

'cssFile' => Yii::app()->theme->baseUrl.'/css/pager.css'

),

'classic' => array(

'nextPageLabel' => '上一页classic',

'prevPageLabel' => '下一页classic',

//'header' => '',

'maxButtonCount' => 5,

'cssFile' => Yii::app()->theme->baseUrl.'/css/pager1.css',

),

);

?>

在上面,我们 CLinkPager widget 创建了两个皮肤: default 和 classic。 前者是我们不明确指定 CLinkPager 的 skin属性时使用的皮肤,
而后者是其skin属性被指定为 classic 时使用的皮肤。例如,在下面的视图代码中,
第一个 pager 将使用 default 皮肤而第二个使用 classic 皮肤:

<?php $this->widget('zii.widgets.CListView', array(

'summaryText' => '显示 {start}-{end} of {count} result(s).',

'pager' => array(),

'dataProvider'=>$dataProvider,

'itemView'=>'_view',

)); ?>

<?php $this->widget('zii.widgets.CListView', array(

'summaryText' => '显示 {start}-{end} of {count} result(s).',

'pager' => array('skin'=>'classic'),

'dataProvider'=>$dataProvider,

'itemView'=>'_view',

)); ?>

yii主题的更多相关文章

  1. YII 主题

    heming是一个在Web应用程序里定制网页外观的系统方式.通过采用一个新的主题,网页应用程序的整体外观可以立即和戏剧性的改变. 在Yii,每个主题由一个目录代表,包含view文件,layout文件和 ...

  2. YII 主题设置

    节日不同,站点显示不同主题.就是解决问题. 也制作多套视图. 不是必需为全部页面设置主题,假设没有.就依照正常视图显示 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5 ...

  3. Yii 2.x 多主题 - 多语言 配置

    语言:只要在原来模板的位置建立语言目录 多主题:要重新定义模板的根目录

  4. PhpStorm 8.x/9.x 快捷键设置/个性化设置,如何多项目共存?如何更换主题?

    1."自定义"常用快捷键(设置成跟Eclipse差不多) 按照路径:File -> Settings -> Appearance & Behavior -> ...

  5. yii模块下面的组件

    模块的定义就不写了,直接进入主题看目录和文件: application/modules/client/controllers/UserController.php <?php class Use ...

  6. yii开发一个web程序的基本流程

    1. 创建目录结构.在前面的章节Creating First Yii Application写的yiic工具可以帮助我们快速完成这步. 2. 配置 application.就是修改applicatio ...

  7. Yii的学习(1)--安装配置

    之前在sina博客写过Yii的文章,来到博客园之后,没再写过关于Yii的文章,正好端午假期没啥事,就结合以前的博客,Yii的官方文档,再加上最近的关于Yii的收获总结一下,写个系列~~ Yii是一个基 ...

  8. yii和wp做博客

    第一步,安装yii和wp: 第二步,创建protected/components/ExceptionHandler.php文件 <?php class ExceptionHandler { pu ...

  9. yii 多模板

    main.php: //替换所有模板 //加载文件名为first的模板 //       'theme'=>'theme1', 'components'=>array(           ...

随机推荐

  1. ubuntu 阿里云 常出问题 运维工作日志

    一.2015-8.26(数据库 error—28) tmp文件临时数据写入不了----解决办法 1.查看临时文件 ls -l 找到了 2.由此可以查看得出来tmp文件有的权限是有的 3.查看tmp 存 ...

  2. php 文件读取方式

    整理了一下PHP中读取文件的几个方法,方便以后查阅. 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件 ...

  3. SCOPE_IDENTITY的用法【转载】

    SCOPE_IDENTITY   和   @@IDENTITY   的作用都是取得返回在当前会话中的任何表内所生成的最后一个标识值,简单的说就是在执行一条插入语句之后使用@@IDENTITY的全局变量 ...

  4. php 安装mongo扩展(其他扩展同理)

    很多次安装mogo扩展不成功,总结出来,无非就是一个原因.对应的版本选择不正确 简单来说这篇文章就是来教你如何选择php对应的mongo.ll版本 查看phpinfo https://pecl.php ...

  5. VS中的类模板

    在目录C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates\CSharp\Co ...

  6. react的echarts BizCharts

    react BizCharts react的饼图,折线图 点击进入官网 -> https://bizcharts.net/products/bizCharts/demo 如果你在这遇到了问题,欢 ...

  7. 树莓派Raspberry Pi zero w无线联网实测

    第一次学习树莓派,使用的是Raspberry Pi zero w的型号. 刚开始,就只有一块板子!!!这要怎么开发啊 经过网上查阅资料,发现可以通过WiFi连接PC端实现开发测试 准备材料:一根USB ...

  8. 前端应该掌握的web基础和网络知识

    * 关于HTTP协议 http协议是www服务器和用户请求代理之间通过应答模式来传输超文本内容的一种协议,它是基于请求与响应.无状态.应用层的一种协议.大多数的web应用都建立 在http协议的基础之 ...

  9. (转载)java list排序

    1.简介 这个和数组的排序又不一样了. 其实Java针对数组和List的排序都有实现,对数组而言,你可以直接使用Arrays.sort,对于List和Vector而言,你可以使用Collections ...

  10. [转][xml]SQL转义

    SQL语句包含">"和"<"时,在PL/SQL中可以正常运行,但是放在XML中,编译报错,这是因为在XML文档中的所有文本都会被解析器解析,文本内容 ...