一个网站很多地方都是相同的,我们把这些相同的地方抽离出来,做成一个单独的文件,其他地方include。而这单独的文件被我们叫做element(元素)。
比较常用的element有head(头部页面),foot(尾部页面),item(菜单栏),ad(广告)
为什么要做元素呢?
你可以想象一下,那么N个页面都有相同的地方(A区),如果我要改A区的东西,是不是要改很多页呢。如果我们引用元素的方式,只需要更改元素页,其他页面的内容自然改变,这就是元素给我们带来的好处。
我们来看看图吧:
图2号位为头部元素,我们可以在app/views/elements/下建立head.html文件。
图4号位为尾部元素,在app/views/elements/下建立foot.html文件。
剩下的图1号位为layout布局,在app/views/layouts/下建立default.html(默认的模版为default.html,也可以建立其他名字的模版)。
而default.html这个文件包含了头部元素,尾部元素,和动态显示区。
layout里常用$title_for_layout,$content_for_layout动态显示内容和标题。可以在Controller中设置$layout和$pageTitle属性。
如
var $layout="loginpagetem"; //设置layout为loginpagetem.html
$this->layout = 'default'; //设置layout为default,这个在函数内部调用设置。$pageTitle设置亦是如此。
default.html代码:
在这里我多说一句,所有的文件的引用,最好都用绝对路径,相对路径不好控制。采取的方案是在app/config/core.php里添加一个全局变量。
如:define('BASE_PATH','http://localhost/yourprj/');
那么在所有的view文件里head里添加<base href="<?=BASE_PATH?>"/>