模板继承与实现总结

原创 2018-12-19 12:05:23 247
摘要:先在view目录下创建一个基础模板base.html,供其它子模板进行继承。base.html 文件里面的内容全部要用标签{block name=""}{/block}进行定义子模板中直接用{extend name="base" /}继承即可在父模版中凡是写在了block标签之外的内容,在子模板中全部会被原样输出。在子模版中,凡是写在了block标签之外的内
  1. 先在view目录下创建一个基础模板base.html,供其它子模板进行继承。

  2. base.html 文件里面的内容全部要用标签{block name=""}{/block}进行定义

  3. 子模板中直接用{extend name="base" /}继承即可

  4. 在父模版中凡是写在了block标签之外的内容,在子模板中全部会被原样输出。在子模版中,凡是写在了block标签之外的内容会被全部忽略,也就是不会显示在网页中。

  5. 在父模板中的内容最好都写在block标签里面,这样父模板中的全部内容在子模版中可以很好的去控制,灵活性会比较好。

  6. 在子模版中,区块的顺序不重要。这是因为子模版内容的显示顺序以父模板为准。

  7. 在子模版中用{__block__}引用父模板中的内容。

  8. 在子模版中可以将父模板的区块进行重写,亦可以让父模板的某些区块内容在子模版中不显示。



例子如下:

父模板:view/base.html

{//在父模板中的内容最好都写在block标签里面,这样父模板中的全部内容在子模版中可以很好的去控制,灵活性会比较好}
{block name="header"}
 {include file="public/header" /}
{/block}
{block name="main"}<h1 style="text-align:center;">我是基模板的主体部分</h1>{/block}
{block name="course"}课程名称:{/block}
{block name="describe"}<h3 style="text-align:center;">课程描述:PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。</h3>{/block}

{//在父模版中凡是写在了block标签之外的内容,在子模板中全部会被原样输出}
<h4 style="text-align:center;">学习PHP不仅要掌握方法,更多的是付出汗水。</h4>

{block name="footer"}
 {include file="public/footer" /}
{/block}

某个子模版:

{extend name="base" /}
{//将父模板中的main区块进行重写}
{block name="main"}
 <h1 style="text-align:center;">我是子模板的网站主体部分</h1>
{/block}
{block name="course"}
{//在子模版中用{__block__}引用父模板中的内容}
 <h2 style="text-align:center;">{__block__}PHP编程</h2>
{/block}
{//在子模板中将不需要显示的父模板区块内容清空,则此区块内容就不会显示在子模板中了}
{block name="describe"}{/block}
{//在子模版中,凡是写在了block标签之外的内容会被全部忽略,下面的这行代码在网页里面将不会显示}
<p>php的优点:开源 免费性 快捷性 [程序开发快,运行快,技术本身学习快]。</p>


批改老师:天蓬老师批改时间:2018-12-19 13:02:15
老师总结:模板继承, 底层就是 : include 语句, 这样理解起来就方便多了

发布手记

热门词条