Yii为我们提供了layout,我们可以把一个view嵌入设计好的layout。但随着网站设计越来越多变,越来越复杂,只是layout内一个$content 变量在载入view似乎并不能满足我们的需求。如果页面中有好几个地方需要时时变动呢?
没关系, Yii还为我们提供了Clip这个方法,这个其实有点类似与Django中的block。
比如现在我们需要构建一个布局,左边是主要内容,侧边栏上有个子菜单和一段介绍文字,在每个不同的页面上,子菜单和介绍文字都是是不同的。让我们看看代码,这个应该更直接:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Clip</title>
</head>
<body>
<div id="header">
this is header and main menu here
</div>
<div id="main">
<div id="left">
<?php echo $content ?>
</div>
<div id="right">
<div class="block">
<?php echo $this->clips['submenu'] ?>
</div>
<div class="block">
<?php echo $this->clips['desc'] ?>
</div>
</div>
</div>
<div id="footer">
footer section
</div>
</body>
在这段代码中我们建立了一个layout,div#left 这里我们载入了view,而在侧边栏div#right中调用了2个clip片段。
接下来我们看看clip中view的实现:
hello, this is the view 1
<?php $this->beginClip('submenu') ?>
here is the sub menu for view 1
<?php $this->endClip() ?>
<?php $this->beginClip('desc') ?>
here is the description for view 1
<?php $this->endClip() ?>
1
2
3
4
5
6
7
8
9
hi, view 2 is here
<?php $this->beginClip('submenu') ?>
here is the sub menu for view 2
<?php $this->endClip() ?>
<?php $this->beginClip('desc') ?>
here is the description for view 2
<?php $this->endClip() ?>
上面的两个view中,我们为submenu和desc片段都设定了不同的内容,如果是更复杂的页面我们还可以继续添加更多的clip片段。
当然clip也不是非常完美, 和django中的block相比,我们不能为每个clip都设定一个初始值,这样我们要在每个view中都给clip赋值,这有点小麻烦
分享到:
相关推荐
通过本系列课程的学习,达到可以用Yii2自主构建一套高效的、稳定的、高扩展性restful api的能力。并且,通过本课程学习,开发者可以充分的理解Yii2接口的灵活性,其中包括:按需取值,自由扩展,标准统一的接口开发...
yii2-semantic-ui, Yii2的语义用户界面扩展 Yii2语义用户界面扩展语义用户界面( 用于 Yii2的扩展)安装yii2-semantic-ui 2.* 使用语义用户界面 2.*作曲家安装这里扩展的首选方法是通过 Composer 。运行php composer.
RKCMS,全称为蓝科企业网站内容展示系统,是一款基于PHP编程语言并利用先进的YII2框架构建的开源免费软件。这款系统专为企业网站设计,旨在提供高效、灵活且易于管理的内容发布与展示平台。PHP作为一种广泛应用于Web...
API接口开发则可以利用Yii2的RESTful特性,快速构建符合REST原则的API,方便前后端分离的项目开发。 在文件名称列表 "ytwo" 中,可能包含了该后台系统的源代码文件,例如配置文件、模型类、控制器、视图文件、公共...
本文实例讲述了Yii2创建多界面主题(Theme)的方法。分享给大家供大家参考,具体如下: Yii2界面主题上的设计总体上和Yii1.x保持一致,区别在于两个地方: 1. 由于Yii2引入了独立的视图(View)类,因此界面主题...
通过这些文档,开发者可以深入理解Yii框架的机制,并学会如何有效地利用它来构建强大的Web应用。同时,Yii社区活跃,有许多优秀的教程和示例代码供学习参考,遇到问题时也能得到及时的帮助。无论是初学者还是经验...
5. **响应式设计**:结合Yii2的RESTful支持,可以轻松构建适应各种设备的前端界面。 6. **易于维护**:良好的代码组织结构和文档支持,使得代码维护变得更加容易。 7. **可扩展的数据库支持**:Yii2支持多种数据库...
在提供的“yii权威指南”中,你将找到关于Yii框架全面而深入的介绍,包括如何安装和配置环境,创建项目,理解框架的基本概念,以及如何利用其特性进行开发。这是一份非常有价值的参考文档,无论你是初学者还是有经验...
Yii 2.0 是一款基于组件的高性能PHP框架,...为了充分利用Yii 2.0,你还需要熟悉PHP编程,以及Composer包管理器的使用。此外,学习如何配置和优化服务器环境,如Apache或Nginx,也是成功部署Yii 2.0应用的关键步骤。
8. **CMS管理系统**:标签"PHP开发-CMS管理系统"暗示了Yii2swoole可能适用于构建高性能的内容管理系统,利用Swoole的优势,提升用户访问体验,尤其是在内容更新频繁、用户并发高的情况下。 综上,将Yii2与Swoole...
Yii框架是一款高效的、基于组件的PHP开发框架,用于构建高性能的Web应用。它以其卓越的性能、丰富的特性、易于学习的API以及...通过深入学习和实践,开发者可以充分利用Yii的强大功能,构建出高效、可扩展的Web应用。
Yii2 Starter Kit 2.3.2 是一个基于Yii2框架构建的开发工具包,专为快速搭建Web应用提供了一套完整的解决方案。这个工具包整合了AdminLTE后台模板,为开发者提供了一个美观、功能丰富的管理界面,使得创建后台管理...
此外,Yii框架支持命令行工具,你可以通过运行Yii命令行界面(CLI)来执行各种任务,如创建新项目、迁移数据库、生成代码等。通过分析源代码,你可以看到这些工具在实际项目中的应用,从而提升你的自动化工作流程。 ...
在Yii2框架下,开发者可以利用其强大的功能和优秀的性能来构建复杂且用户友好的应用。 首先,Yii2框架的核心特性包括MVC(Model-View-Controller)架构模式,这使得代码组织结构清晰,易于维护。在"普查平台"中,...
Yii 框架详解与开发规范 Yii 是一款高效的 PHP ...通过深入理解其配置、组件机制、目录结构以及部署流程,开发者能更高效地利用 Yii 构建复杂的应用程序。要了解更多细节,可以参考 Yii 快速入门教程或其他官方文档。
在这个“yii2简单注册登录”项目中,我们看到的是如何利用Yii2框架构建一个基础的用户注册和登录系统。下面,我们将深入探讨这个项目的相关知识点。 1. **Yii2框架结构**:Yii2遵循MVC(Model-View-Controller)...
1. **MVC 架构**:Yii 实现了 MVC 设计模式,分离了业务逻辑、数据和用户界面。模型(Model)处理数据和业务逻辑,视图(View)负责展示,控制器(Controller)协调模型和视图,使得代码结构清晰,易于维护。 2. **...
Yii-Bootstrap插件是专为Yii框架设计的一个扩展,它整合了Twitter Bootstrap的前端开发工具集,使得在Yii中构建响应式、优雅的用户界面变得轻而易举。Bootstrap是一款广泛使用的开源UI框架,提供了丰富的组件和样式...
Yii CMS,全称为yiicms,是一个基于Yii框架构建的内容管理系统。Yii是一个高效、灵活的PHP框架,专为Web 2.0应用开发而设计。Yii CMS充分利用了Yii的特性,提供了一个强大且易于使用的平台,用于快速开发和管理网站...
Yii是一个高效的、基于组件的PHP框架,用于开发大型Web应用。这个"YII-1.1.8中文手册"是针对Yii 1.1.8版本的官方文档的中文翻译,旨在...通过深入学习和实践,你将能够利用Yii的强大功能构建高效、可扩展的Web应用。