模板继承与应用

Original 2019-02-28 16:23:31 218
abstract:/* * layout布局 */<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>{block name="title"}

/*

 * layout布局

 */

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>{block name="title"}页面标题{/block}</title>
</head>
<body>
{block name="nav"}
头部导航
{/block}

{block name="content"}
主体
{/block}

{block name="footer"}
尾部
{/block}
</body>
</html>


/*

 *demo.html模板

 */

{*1.继承自布局文件:layout.html*}
{extends file="layout.html"}


{*2.实例化在layout.html中定义的区块*}
{block name="title"}
我是标题:模板继承的案例
{/block}

{block name="nav"}
{*引用布局文件区块中的内容*}
{$smarty.block.parent}
<a href="">首页</a> | <a href="">公司新闻</a> | <a href="">公司产品</a> | <a href="">联系我们</a>
{/block}

{block name="content"}
<h1>发动机是佛教开光汇丰控股</h1>
<p>假发是对方家里刚发了个</p>
{$smarty.block.parent}
{/block}

{block name="footer"}
{$smarty.block.parent}
<p>@copyright</p>
{/block}


/*

 *demo6.php控制器

 */

<?php
/**
* 模板继承的步骤
* 1、需要创建一个父模板,也叫基础模板,布局文件,主要是供其他模板继承
* 2、布局文件本身并不提供访问
* 3、约定的布局文件名称大多是固定的:layout.html
*/

//加载smarty
require __DIR__.'/config/config.php';

//模板渲染
$smarty->display('demo6.html');


//之前没有布局文件,模板加载顺序是:demo6.html
//如果有layout.html,模板加载顺序发生变化:layout.html ---> demo6.html

Correcting teacher:韦小宝Correction time:2019-02-28 18:02:34
Teacher's summary:很多框架中都使用的是Smarty模板 学习好了Smarty模板的语法以后写项目能省心好多

Release Notes

Popular Entries