(10) PHP 随笔---Smarty模板引擎 布局/继承使用
Posted 考拉爱喵喵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(10) PHP 随笔---Smarty模板引擎 布局/继承使用相关的知识,希望对你有一定的参考价值。
◇为了使得许多页面的‘头部’和‘脚部’开发维护方便,我们制作一个布局页面,其他具体业务页面来填充该‘布局’页面。
◇可以分为‘上’‘中’‘下’的布局,‘上’就是‘头部’,下就是‘尾部’,‘中’用来写业务逻辑。维护起来很方便。
◇可以先创建一个布局文件‘layout.html’,放在./templates文件夹中,代码如下:
1 <div>头部信息</div> 2 {block name="main"} 3 {/block} 4 <div>尾部信息</div>
注:其中,‘头部信息’和‘尾部信息’可以根据前端人员的需要自行编写。
◇然后再创建一个‘index.html‘,也放在./templates文件夹中,代码如下:
1 {extends file="layout.html"} 2 {block name="main"}<div>中部部分</div>{/block}
注:1、第一行{extends file="layout.html"}是继承的意思,继承自layout.html
2、第二行中的{block name="xxx"}{/block}中的xxx要与布局文件中的{block name=“xxx”}中的name一致
◇最后在创建一个index.php文件,来引用这个模板(引用Smarty,display....)。代码如下:
1 <?php 2 header("content-type:text/html;charset=utf-8"); 3 include "./libs/Smarty.class.php"; 4 $smarty = new Smarty; 5 $smarty -> display("index.html"); 6 ?>
◇布局扩展:
◇布局继承使用注意点:
◇布局页面可以有许多block,自己页面也可以有许多block,他们通过name属性进行关联
◇子级页面除了extends和block其他内容不给显示
◇布局页面的block可以有默认内容,子级页面不实现就直接显示。如果子级页面实现了就覆盖父级页面的{block}内容
◇布局页面的block可以彼此嵌套,自己实现可以有针对性实现。
◇{$smarty.block.child}布局可以调用子级的内容,{$smarty.block.parent}子级页面可以调用父级页面内容
以上是关于(10) PHP 随笔---Smarty模板引擎 布局/继承使用的主要内容,如果未能解决你的问题,请参考以下文章
PHP 随笔---Smarty模板引擎 已有模板和Smarty结合 11
PHP 随笔---Smarty模板引擎技术基础+MiniSmarty 01-02
(13) PHP 随笔---Smarty模板引擎 缓存的高级应用 22