(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}子级页面可以调用父级页面内容

posted @ 2016-03-11 21:25  考拉爱喵喵  阅读(1113)  评论(0编辑  收藏  举报