PHP开发框架Yii Framework教程(13) UI 组件 ContentDecorator示例

和Java Swing中类似Yii Framework 中的Layout 也允许嵌套,这是通过CContentDecorator来实现的,不过代码中并不需要 直接使用CContentDecorator ,而是在定义layout使用

$this->beginContent('path/to/view');
// ... content to be decorated
$this->endContent();

其中view 为另外一个布局。

本例定义四个Layout,一个嵌套一个:

开发框架Yii Framework教程(13) UI 组件 ContentDecorator示例-yii2 user组件">

///main.php     

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo  Yii::app()->name;    ?></title>
</head>     

<body>
<h1>Widget Demo</h1>     

<?php echo $content; ?>     

</body>
</html>     

///row1.php
<?php $this->beginContent('/layouts/row2'); ?>
<center>
        <?php echo $content; ?>
</center>
<p />
<center>
        <?php echo 'row1 part'; ?>
</center>
<?php $this->endContent(); ?>     

//row2.php
<?php $this->beginContent('/layouts/row3'); ?>
<center>
        <?php echo $content; ?>
</center>
<p />
<center>
        <?php echo 'row2 part'; ?>
</center>
<?php $this->endContent(); ?>     

///row3.php
<?php $this->beginContent('/layouts/main'); ?>
<center>
        <?php echo $content; ?>
</center>
<p />
<center>
        <?php echo 'row3 part'; ?>
</center>
<?php $this->endContent(); ?>

显示结果如下:

本例下载:http://www.imobilebbs.com/download/yii/ContentDecoratorDemo.zip

查看全套教程:http://www.bianceng.cn/webkf/PHP/201301/35265.htm

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, framework
, layout
, 教程
, 开发框架
, 一个
Layout框架
yii2 user组件、yii2 组件、yii2扩展组件、yii2 自定义组件、yii 组件,以便于您获取更多的相关知识。

时间: 2024-12-31 20:45:23

PHP开发框架Yii Framework教程(13) UI 组件 ContentDecorator示例的相关文章

PHP开发框架Yii Framework教程(20) UI组件 Captcha示例

Captcha(全自动区分计算机和人类的图灵测试-Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA)俗称验证码,是一种区分用户是计算机和人的公共全自动程序.在CAPTCHA测试中,作为服务器的 计算机会自动生成一个问题由用户来解答.这个问题可以由计算机生成并评判,但是必须只有人类才能解答.由于计算机无法解 答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类. Yii

PHP开发框架Yii Framework教程(18) UI 组件 TextHighlighter示例

CTextHighlighter用来格式化显示代码,目前支持显示的语言有ABAP, CPP, CSS, DIFF, DTD, HTML, JAVA, JAVASCRIPT, MYSQL, PERL, PHP, PYTHON, RUBY, SQL, XML,显示代码时也可以显示行号,通过showLineNumbers=TRUE打开行号显示. 本例显示PHP代码,一个带行号,一个不带行号: PHP code <!--?php $this--->beginWidget('CTextHighlight

PHP开发框架Yii Framework教程(17) UI 组件 TabView示例

CTabView 用来显示分页标签,使用TabView的基本方法是配置tabs属性,每个Tab可以配置如下属性 title:标签标 题. content: 标签显示内容. view: 标签显示View的名称,如果同时制定Content,则显示Content内容. url: 点击该 标签时页面重定向到指定URL. data: 当指定View属性时传给该View的属性数组. 本例显示三个标签页,分别使用不同 的标签内容: <center class="form"> <?p

PHP开发框架Yii Framework教程(16) UI 组件 StarRating示例

CStarRating 主要用于评分,显示一组星星(5 个)用于打分. 基本用法如下 <center class="form"> <?php $form=$this->beginWidget('CActiveForm'); ?> <?php $this->widget('CStarRating',array( 'model'=>$model, 'attribute'=>'rating', 'name'=>'rating', '

PHP开发框架Yii Framework教程(14) UI 组件 MaskedTextField示例

CMaskedTextField为格式输入框,可以为文本框指定Mask限制用户可以出入的文本格式,如本例使用99.99.9999 ,可以只允 许输入类似日期的文本. 修改View,添加CMaskedTextField 组件 <?php $this->widget ('CMaskedTextField',array( 'model'=>$model, 'attribute'=>'date', 'name'=>'date', 'mask'=>'99.99.9999', 'h

PHP开发框架Yii Framework教程(12) UI 组件 ClipWidget示例

CClipWidget提供了类似录制"宏"的功能,定义在CClipWidget的init和run之间的内容可以存放在Controller的Clip变量中 ,然后重新回放到任意其它位置. CClipWidget封装的是CBaseController的beginClip和 endClip,CBaseController的 beginClip和 endClip的基本用法如下: 首先定义Clip $this->beginClip('clipID'); // ... display the

PHP开发框架Yii Framework教程(11) UI组件 ActiveForm示例

前面在介绍Yii Framework 开发教程(7) 使用CHtml 创建Form和Yii Framework 开发教程(8) 使用FormModel 已经对 CActiveForm做了简要的介绍.过几天就是圣诞节了,这里帮助圣诞老人做个调查表,调查每个人希望得到的圣诞节礼物和圣诞 大餐想吃的食品:-). 这里共享一部分代码,做为后续例子的框架,基本上是复制Hello World的例子,添加了一个空 的DataModel,使用缺省的Controller(SiteController)和缺省的Ac

PHP开发框架Yii Framework教程(19) UI 组件 TreeView示例

CTreeView用来显示具有层次结构的数据,使用TreeView 通过设置Data属性.Data为具有下面结构的数组: ext: string, 树节点的文本. expanded: boolean,可选,表示该节点是否展开. id: string, 可选,该节点ID. hasChildren: boolean, 可选,缺省为False,当为True表示该节点含有子节点. children: array,可选,子节点数组.. htmlOptions: array, HTML选项. 到目前为止我们

PHP开发框架Yii Framework教程(15) UI 组件 MultiFileUpload示例

CMultiFileUpload 用于上传文件,支持一次同时上传多个文件.这个UI组件是基于jQuery Multi File Upload 插件.Yii 内置的很多UI组件都是基于JQuery,因此需要创建assets 目录用于存放动态生成的javascripts 等. 所上传的文件的信 息可以通过$_FILES[widget-name]来访问,比如,CMultiFileUpload的name为"files" 所上传的文件信息可以通过$_FILES ['files']来访问.此外包含