`
天梯梦
  • 浏览: 13746620 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

cakephp 1.3 Views

 
阅读更多

Section 1 Views 视图

 

一个view是一个页面模版,通常按action的名字命名。例如,PostsController::add的view位于/app/views/posts/add.thtml。Cake view是非常简单的PHP文件,因此你可以在其中使用任何PHP代码。尽管你的大多数view文件包含HTML代码,一个view可以是对一个特定数据集的任意表示,XML,图像,等等。
在view模版文件里,你可以使用相关model提供的数据。这些数据通过$data数组传递过来。你在controller里边使用set()方法递交给view的所有数据也是可用的。


默认情况下,HTML helper对于每一个view都是可用的,并且到目前为止它是view里边最常用的helper。它对于创建表单,插入客户端脚本和多媒体,协助数据验证都是非常有用的。关于HTML helper的详细讨论,请参见“Helpers”章的Section 1。


在view里使用的大多数功能都是由helper提供的。Cake提供了许许多多的helper(在“Helpers”章里讨论),并且你也可以定义自己的helper。由于view不应该包含太多业务逻辑,view类并没有提供太多广泛使用的公共方法。其中一个很有用的是renderElement(),我们将在section 1.2看到它。

 

Layouts 布局

一个layout(布局)包含了所有包裹在view之外的表现代码。Layout文件都放在/app/views/layouts目录里。你可以重写一个默认的layout来取代位于/app/views/layouts/default.thtml的Cake默认layout。一但创建了新的默认layout,当页面render的时候controller view的内容会被替换到默认layout中。


当你创建一个layout的时候,你需要告诉Cake在哪里放置controller view的内容:确保你的layout包含$content_for_layout(还有$title_for_layout,不过它是可选的)。以下是一个默认layout的示例:

 

<!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>
<title><?php echo $title_for_layout?></title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
</head>
<body>

<!-- If you'd like some sort of menu to show up on all of your views, include it here -->
<div id="header">
    <div id="menu">...</div>
</div>

<!-- Here's where I want my views to be displayed -->
<?php echo $content_for_layout ?>

<!-- Add a footer to each displayed page -->
<div id="footer">...</div>

</body>
</html>

要为layout设置标题(title),最简单的办法是在controller里使用$pageTitle变量来设置。

class UsersController extends AppController  
{  
    function viewActive()  
    {  
        $this->pageTitle = 'View Active Users';  
    }  
}  
 

只要需要,你可以随意为你的Cake站点创建任意数量的layout,只要把他们放在app/views/layouts目录,并且在你的controller action里边使用controller的$layout变量或者setLayout()方法来切换layout。
比如,我的站点中有一个包含小型广告区域的部分,我也许可以创建一个具有更小的广告区域的layout并且使用以下语句来指定它为所有controller action的layout:

var $layout = 'default_small_ad'; 

 

Elements 元素

许多应用程序都会有一些在各个页面见不停重复的表现层代码,有时他们只是在layout里的不同地方。Cake可以帮助你复制站点中的某些区块,如果需要的话。 我们将这些可重用的页面区块称为Element(元素)。广告,帮助框,导航栏,菜单和插图都被Cake实现成为element。一个element其实可以看作是可以包含在其他view里边的mini-view。


所有element都生活在/app/views/elements目录下,并且文件扩展名为.thtml。
默认情况下,element访问不到任何数据。想让它具有对数据的访问权,你需要将数据放在数组里传递给它,并不要忘了为这些数据带上名字(键-值对数组)。

 

无参数地调用一个element

<?php echo $this->renderElement('helpbox'); ?> 
 

调用一个element,并传入包含数据地数组

<?php echo  
$this->renderElement('helpbox', array("helptext" => "Oh, this text is very helpful."));  
 ?>  
 

在element文件里,所有传入的变量都可以通过他们在参数数组里的键名来使用(有点类似于在view里边使用controller用set()设置的变量)。在上边这个例子中,/app/views/elements/helpbox.thtml文件可以使用$helptext变量。当然,如果传递一个数组给element会更佳有用。


element使view具有更佳的可读性,而把render重复的element的部分放在对应的element文件中。它们也可以帮助你重用站点中的内容区块。

 

 

 

来源: http://www.1x3x.net/cakephp/view.html

分享到:
评论

相关推荐

    CakePHP 1.3中文帮助文档

    CakePHP 1.3中文帮助文档,内容简单易懂并且全面,值得大家下载...

    cakephp-cakephp-1.3.12-32-gb4e3c8a.zip_cakephp 1.3_cakephp1.3_ca

    在CakePHP中,视图文件通常位于/app/views/目录下,与控制器动作相对应的子目录中。 3. **Controller**:控制器作为Model和View之间的桥梁,处理用户请求,调用模型进行业务处理,并将结果传递给视图进行展示。控制...

    cakephp 1.3参考手册

    cakephp 参考手册 v1.3 虽然不是最新的2.X手册 但是完全可以使用

    CakePHP 1.3 Application Development Cookbook Source Code

    《CakePHP 1.3 Application Development Cookbook》是针对使用CakePHP 1.3框架进行Web应用开发的一本实践指南。本书旨在帮助开发者深入理解和运用CakePHP的特性,提高开发效率,构建高效、可维护的PHP应用程序。源...

    cakephp 1.3.x 中文手册

    cakephp 1.3.x 中文手册,部分英文没有翻译,随后翻译。

    cakephp 1.3

    ### CakePHP 1.3 应用开发知识点详解 #### 一、CakePHP 1.3 概述 CakePHP 是一款使用 PHP 编写的快速、简洁的 MVC 框架。它旨在提供一个结构化的应用程序开发框架,帮助开发者更高效地构建高质量的Web应用。...

    CakePHP 1.3 Application Development Cookbook

    ### CakePHP 1.3 Application Development Cookbook 知识点概览 #### 一、书籍概述 《CakePHP 1.3 Application Development Cookbook》是一本专为CakePHP开发者编写的实用指南,提供了超过60个精心设计的“食谱”来...

    cakephp-1.3.21.zip

    1. 视图文件:视图文件通常位于/app/views/目录下,与控制器动作一一对应。 2. 布局:布局文件(如default.ctp)定义全局结构,每个视图可以嵌入到特定布局中。 七、插件与组件 1. 插件:提供可复用的代码库,如...

    CakePHP1.3 API

    该文档是下载官方文档,进行整理制作成CHM,内容全面,值得下载...

    cake-recaptcha:用于CakePHP 1.3的Recaptcha

    与CakePHP 1.3一起使用 用法 将recaptcha.php文件放置在app/vendors 。 JS文件必须放在&lt;head&gt; : ... &lt; script src =' https://www.google.com/recaptcha/api.js ' &gt; &lt;/ script &gt; &lt;/ head ...

    packtpub.CakePHP.1.3.Application.Development.Cookbook.Mar.2011

    《CakePHP 1.3 应用程序开发实战指南》是 Packt Publishing 在 2011 年出版的一本专业书籍,旨在帮助开发者深入理解并高效使用 CakePHP 框架进行Web应用开发。本书内容详实,涵盖了大量的实例和最佳实践,适合初学者...

    cakephp-twig-view:CakePHP 1.3 的树枝

    CakePHP 的 Twig (v0.8.0) 这个用于 CakePHP 框架的插件允许您使用 Twig,一个灵活、快速且安全的 PHP 模板引擎。 除了使您能够使用 Twig 的大部分功能外,该插件还与 CakePHP 视图渲染器紧密集成,使您可以完全...

    Laravel开发-laravel-cake13-hash

    Laravel开发-laravel-cake13-hash Laravel 5包使用旧版cakephp 1.3进行密码哈希

    clear_cache:使用 shell 或在您的应用程序中清除 cakephp 缓存,还包括用于清除缓存的 debugkit 面板

    对于 CakePHP 1.3,使用 1.3 分支。 安装 克隆/复制此目录中的文件到app/Plugin/ClearCache 通过调用CakePlugin::load('ClearCache');确保插件在app/Config/bootstrap.php CakePlugin::load('ClearCache'); 用法 ...

    cakephp 框架书籍 英文版

    #### 五、Views(视图) - **视图模板**:阐述了如何创建和使用视图模板,以及模板引擎的工作原理。 - **使用视图块**:介绍了视图块的概念及其在代码复用中的作用。 - **布局**:讲解了布局文件的作用和用法,以及...

    PHP的框架之CakePHP-CakePHP教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...

    cakephp php-framework

    There are two main ways to get a fresh copy of CakePHP. You can either download an archive copy (zip/tar.gz/tar.bz2) from the main website, or check out the code from the git repository. To download ...

    CakePHP 3.4 开发手册文档 CakePHP Cookbook Documentation Release 3.4

    ### CakePHP 3.4 开发手册文档概览 #### CakePHP 一瞥 CakePHP 是一款基于 PHP 的快速开发框架,它强调采用约定优于配置(Convention Over Configuration, CoC)的原则来简化开发过程,使得开发者能够快速构建稳定...

    PHP的框架之CakePHP-CakePHP教程终极教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...

Global site tag (gtag.js) - Google Analytics