首页 > 其他 > 详细

smarty模板继承

时间:2015-01-04 11:36:25      阅读:327      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!