header 和 footer。由于每个页面 的头脚都是相同的,所以需要独立分离出来,再用包含文件引入他们。
View 目录下 default 主题目录下创建一个 public 目录,这个目录专门存 放公共调用模版文件。
<include file='Public/header' />
<include file='Public/footer' />
也可以调用绝对路径模式:
<include file='./php004/Home/View/default/Public/header.html' />
模版继承
创建Public下base.htmll模版基页
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<block name="title"><title>{$user}</title></block>
</head>
<body>
<include file="Public/header" />
<block name="main">主要内容</block>
<include file="Public/footer" />
</body> </html>
index.htmml
//使用<extend>导入模版基页,name为路径,和include导入方法一致
<extend name="default/Public/base" />
<block name="title">index标题</block>
<block name="main">
页面布局
</block>
模版布局
1全局配置文件
//开启模版布局功能,并指定基础页
'LAYOUT_ON'=>true,
'LAYOUT_NAME'=>'Public/layout',
目录Public创建layout
//基础页,{__CONTENT__}将被子页面的内容替换
<include file="Public/header" />
{__CONTENT__}
<include file="Public/footer" />
这时候就可以在index里写东西了不需要加载头部;
2、标签方式,并不需要在配置文件写,和模版继承类似,直接引入即可。
//子模版引入模版基页
<layout name="Public/layout" />
//替换变量的方法
<layout name="Public/layout" replace="{__REPLACE__}" />
3.layout 控制布局 这个方法是在控制器里操作的。
//开启布局,并引入默认地址基页
public function index() {
layout(true);
}
//引入指定基页
public function index() {
layout('Public/layout');
//layout(false);
//关闭
}
.模版替换
__ROOT__: /项目包 :php004
__APP__: /项目包 /index.php
__MODULE__: /项目包 /index.php/Home
__PUBLIC__: /项目包 /Public
__ACTION__:会替换成当前操作的 URL 地址
__SELF__: 会替换成当前的页面 URL
__CONTROLLER__: 会替换成当前控制器的 URL 地址(不含域名)