更多课程 选择中心

PHP培训
美国上市教育机构

400-111-8989

PHP培训

smarty 模板继承

  • 发布:PHP培训
  • 来源:PHP教程
  • 时间:2016-09-22 15:28

smarty 模板继承 {extends}

定义

继承是从面向对象编程而来的概念,模板继承可以让你定义一个或多个父模板,提供给子模板来进行扩展。 扩展继承意味着子模板可以覆盖部分或全部父模板的块区域。

特性

继承结构可以是多层次的,所以你可以继承于一个文件,而这个文件又是继承于其他文件。

在覆盖父模板的 {block} 块以外的地方,子模板不能定义任何内容,任何在{block}以外的内容都会被自动忽略。

子模板继承使用{extends}标签, 该标签一定放要在子模板的第一行。

模板继承在编译时将编译成单独的一个编译文件,对比效果相似的{include}包含模板功能,模板继承的性能更高。

代码

layout.html(父模板)

<html>
<head>
  <title>{block name=title}默认页面标题{/block}</title>
  {block name=head}{/block}
</head>
<body>
{block name=body}{/block}
</body>
</html>

myproject.html(父模板)

{extends file='layout.html'}
{block name=head}
  <link href="/css/mypage.css" rel="stylesheet" type="text/css"/>
  <script src="/js/mypage.js"></script>
{/block}

mypage.html (孙子模板)

{extends file='myproject.html'}
{block name=title}我的页面标题{/block}
{block name=head}
  <link href="/css/mypage.css" rel="stylesheet" type="text/css"/>
  <script src="/js/mypage.js"></script>
{/block}
{block name=body}我的HTML页面内容在这里{/block}

$smarty->display('mypage.html');

<html>
<head>
  <title>我的页面标题</title>
  <link href="/css/mypage.css" rel="stylesheet" type="text/css"/>
  <script src="/js/mypage.js"></script>
</head>
<body>
我的HTML页面内容在这里
</body>
</html>

温馨提示:{extends} 比 {include} 性能更高。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Smarty模板引擎的优点
下一篇:什么是smarty?

什么是smarty?

smarty 模板继承

smarty语法高级篇

Smarty语法基础篇(二)

选择城市和中心
黑龙江省

吉林省

河北省

贵州省

云南省

广西省

海南省