模板的引入使用include标签,通过标签引入不同的模板文件,简化模板。例如{include file="common/nav /}
将所有页面都需要的代码写入view/common/base.html中,在模板需要用到代码时直接用{extend name=“common/base”/}
如何更改继承文件的内容,在继承文件中添加标签{block name=“title”}要修改的内容{/block} ,在被继承文件中添加标签{block name=“title”}源代码内容{/block}(当文件没有修改时,默认输出源代码的内容。)如果继承文件中想要在原来代码的基础上进行添加,可以{block name=“title”}要修改的内容{__block__}/block}
layout标签,先修改配置文件,之后直接在模板中编写内容,会直接替换layout.html中{__CONTENT__}所在行,直接输出。
在前端中使用继承多一点,后台可以使用继承和layout结合。
模板布局
包含模板:{include file="common/nav" /}
继承机制:{extend name="common/base" /}
被继承的模板下name不允许重名
{block name=""}
//输出被继承模板的内容{__block__}
{/block}
layout机制不能使用block但是可以使用include:
首先要修改配置文件(conf/config.php)=>'template'下添加:
'layout_on' => true,//开启这个功能所有模板都有效
'layout_name' => 'layout'
其次,新建一个和index文件夹同级的layout.html文件
{__CONTENT__}
layout模式
config.php添加:
‘layout_on'=>'true,
'layout_name'=>'layout'
新建layout.html
在需要替换的地方加上标签
{__CONTENT__}
如果需要更换标题,可以将标题添加变量{$title},然后在php代码中:$this->assign('title','index标题');
使用模板中被继承的区域的内容:
base.html
{block name="footer"}
footer
{/block}
index.html
{block name="footer"}
index_{__block__}//继承模板中footer内容
{/block}
输出内容为:index_footer
模板继承
新建common/base.html,将基本代码放入
其它页面{extend name="common/base" /}
被继承的页面更改内容
base.html页:
将可替换的内容加标签block
<title>
{black name="title"}
index页
{/block}
</title>
page.html页:
{extend name="common/base" /}
{black name="title"}
标题改为page页
{/block}
{include file="common/nav" /} //将头尾包含进来方式
ul#nav>li*4>a[href=""]{菜单$$}>
快捷生成htm标签
<li><a href="">菜单01</a></li>Mark模板布局、包含文件、模板继承
extend继承模板,block用于extend继承后的修改
模板布局
包含模板:{include file="common/nav" /}
继承机制:{extend name="common/base" /}
被继承的模板下name不允许重名
{block name=""}
//输出被继承模板的内容{__block__}
{/block}
layout机制不能使用block但是可以使用include:
首先要修改配置文件(conf/config.php)=>'template'下添加:
'layout_on' => true,//开启这个功能所有模板都有效
'layout_name' => 'layout'
其次,新建一个和index文件夹同级的layout.html文件
{__CONTENT__}
模板布局
包含模板:{include file="common/nav" /}
继承机制:{extend name="common/base" /}
被继承的模板下name不允许重名
{block name=""}
//输出被继承模板的内容{__block__}
{/block}
layout机制不能使用block但是可以使用include:
首先要修改配置文件(conf/config.php)=>'template'下添加:
'layout_on' => true,//开启这个功能所有模板都有效
'layout_name' => 'layout'
其次,新建一个和index文件夹同级的layout.html文件
{__CONTENT__}
view 模板文件的使用
extend2 更改时就在页面上用{block}
就是可以在被继承的模版里先挖坑,然后在要继承的页面填上坑
extend1 用extend时如果里面有东西是每个页面不一样的,就是里面有自己不一样的东西时,就需要用{block}
extend继承内容。。
引入include
<!-- include -->
模版引入:include标签,引入模板;
{include file="引入文件" /}
<!-- extend -->
模板继承 :extend标签 ,在需要继承的文件中引入;
{extend name="引入文件"}
在被继承的文件中可以加入“坑”;
<!-- block -->
{block name="ID"} 挖 和 填({__block__}来获取之前的内容)“坑”
内容{__block__}
{/block}
<!-- layout -->
layout中也可以使用 include引入模板
layout:在配置文件中进行配置
config.php中配置 template=>['layout_on'=>true, 'layout_name'=>'layout']需要在创建一个(在 view/layout.html)
通过在layout.html中添加{__CONTENT__}(挖好“坑”)标签,将模板文件所输出的内容替换进来
通过在控制器controller中的配置函数中注册相关变量,在 layout.html 中,通过{$变量}进行单独配置
其他文件就是改填坑的填坑
模版引入:include标签,引入公共模板
{include file="引入文件" /}
模板继承 :extend标签 ,在需要继承的文件中引入
{extend name="引入文件"}
在被继承的文件中可以加入“坑”:
{block name="ID"} 内容 {/block}
note:在需要修改的文件中替换原内容便好
layout:在配置文件中进行配置
config.php=>template=>['layout_on'=>true, 'layout_name'=>'layout']
通过在layout.html中添加{__CONTENT__}标签,将模板文件所输出的内容替换进来
通过在控制器controller中的配置函数中注册相关变量,在layout.html中,通过{$变量}进行单独配置
心得:编写后台界面的时候
在layout中通过include导入公共样式库和脚本
在需要更改的内容中,加入{__CONTENT__}
创建一个index文件为被继承文件,并挖好“坑”
其他文件就是改填坑的填坑
包含模板文件方法
简写 $$ -> 01 ,02 ,03, 04 ..
模板包含和继承
{include file="common/nav"}
layout.html 建立 并在config配置文件中开启teplate => [
'layout_on'=>true
'layout_name'=>'layout'
]
之后模版文件中 不用再谢任何继承,直接写文件内容,因为在layout.html文件中{__CONTENT__}会被自动替换成模版中 的内容,但是不能再layout.html中写{block name=''}{/block},继承文件可以写
{__block__}为模版中写的默认内容
{block name="footer"}
index_{__block__}
{/block}
更改html中的title 也叫做坑
{extend name="common/base"}
{block name="title"}
模版学习
{/block}
{block name='body'}
body内容
{/block}
页面的继承 view\common\base.html
{extend name="common/base"/}
头部 尾部 引入 创建view\common\header.html
引入 <include file='common/header.html'>
layout
layout 'layout_on' =>'true' 'layout_name'=>'a'开启后默认的访问view文件机制发生变化,
会访问view/a.html,
a.html 中的{__CONTENT__}的内容会被index控制器下指定方法对应view/index/*.html文件内容替换,
从而 达到访问不同的方法,改方法对应的view文件会显示不同的内容
若要改变其他共有的部分,还可通过控制器层使用$this -> assign传值
通过给方法传递参数() a.html可以显示不同的内容
如果希望在原有内容基础上添加新的内容,可用{__block__}即可解析为原有内容
继承{extend name="common/*" /},当内容需要与公共部分不同时,只需要采用相同的标签,更改为不同的内容即可,{block name=""}{/block},同一模板内不允许有同样的block,如果希望在原有内容基础上添加新的内容,可用{__block__}即可解析为原有内容
包含和继承
视图层页面通过include方式加载公共页面
{inclue file="common/nav" /}
继承 一个页面呢可继承另外的页面
{extend file="common/base" /}
同一个页面中不允许有两个同样的block name
block表示替换被继承的页面中指定的样式或者标签
{block name="title"}
要替换的值
{/block}
layout
layout 'layout_on' =>'true' 'layout_name'=>'a'开启后默认的访问view文件机制发生变化,
会访问view/a.html,
a.html 中的{__CONTENT__}的内容会被index控制器下指定方法对应view/index/*.html文件内容替换,
从而 达到访问不同的方法,改方法对应的view文件会显示不同的内容
若要改变其他共有的部分,还可通过控制器层使用$this -> assign传值
通过给方法传递参数() a.html可以显示不同的内容