码迷,mamicode.com
首页 > 其他好文 > 详细

smarty模板继承

时间:2015-01-04 11:37:01      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

模板继承比使用include方式有一个明显的方便,就是在方便每个页面引入不同的css js文件;

layout.tpl (父模板)

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

myproject.tpl (子模板)

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

mypage.tpl (孙子模板)

{extends file=‘myproject.tpl‘}
{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.tpl‘);

另外,代替模板内使用{extends}的继承方式, 你可以通过在PHP内定义继承树来进行继承,使用extends:的资源类型。

下面的代码将返回和上面例子一样的结果:

<?php
$smarty->display(‘extends:layout.tpl|myproject.tpl|mypage.tpl‘); 
?>


smarty模板继承

标签:

原文地址:http://my.oschina.net/acitiviti/blog/363416

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!