首頁 > php教程 > php手册 > 主體

cakephp笔记view层

WBOY
發布: 2016-06-21 08:48:55
原創
829 人瀏覽過

一个view是一个页面模版,通常按action的名字命名。例如,PostsController::add的view位于/app/views/posts/add.ctp。Cake view是非常简单的PHP文件,因此你可以在其中使用任何PHP代码。

 

    Layouts 布局

 

一个layout(布局)包含了所有包裹在view之外的表现代码。Layout文件都放在/app/views/layouts目录里。你可以重写一个默认的layout来取代位于/app/views/layouts/default.ctp的Cake默认layout。一但创建了新的默认layout,当页面render的时候controller view的内容会被替换到默认layout中。只要需要,你可以随意为你的Cake站点创建任意数量的layout,只要把他们放在app/views/layouts目录,并且在你的controller action里边使用controller的$layout变量或者setLayout()方法来切换layout。

 

 

 

Elements 元素

 

 

element元素的产生主要是为了代码或者是代码块的重用。许多应用程序都会有一些在各个页面见不停重复的表现层代码,有时他们只是在layout里的不同地方。Cake可以帮助你复制站点中的某些区块,如果需要的话。 我们将这些可重用的页面区块称为Element(元素)。广告,帮助框,导航栏,菜单和插图都被Cake实现成为element。一个element其实可以看作是可以包含在其他view里边的mini-view。所有element都生活在/app/views/elements目录下,并且文件扩展名为.ctp。

 

默认情况下,element访问不到任何数据。想让它具有对数据的访问权,你需要将数据放在数组里传递给它,并不要忘了为这些数据带上名字(键-值对数组)。

 

无参数地调用一个element

 

renderElement('helpbox'); ?>  

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

 

$this->renderElement('helpbox', array(

"helptext" => "Oh, this text is very helpful.")

);  

 ?>  

在element文件里,所有传入的变量都可以通过他们在参数数组里的键名来使用(有点类似于在view里边使用controller用set()设置的变量)。在上边这个例子中,/app/views/elements/helpbox.ctp文件可以使用$helptext变量。当然,如果传递一个数组给element会包含更多的信息。element使view具有更佳的可读性,而把render重复的element的部分放在对应的element文件中。当然它们也可以帮助你重用站点中的内容区块。

 



相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板