2
A
回答
5
在Smarty中没有内置的模板继承。但你可以用{include}
和{capture}
做类似的事情。
你的页面模板可以关注一下:
{capture assign="context"}
<h2>Here is my page</h2>
{... some other smarty suff here ...}
{/capture}
{assign var="title" value="Just simple title text here"}
{include file="base.tpl"}
而且base.tpl
可以看起来像以下:
<html>
<title>{$title}</title>
<body>
{$context}
</body>
</html>
10
虽然这个问题是有点老了,我想,也许有人找此信息2011年8月将受益,知道这可以用Smarty 3来完成。
带继承的示例
layout.tpl
<html>
<head>
<title>{block name=title}Default Page Title{/block}</title>
</head>
<body>
{block name=body}{/block}
</body>
</html>
mypage.tpl
{extends file="layout.tpl"}
{block name=title}My Page Title{/block}
{block name=body}My HTML Page Body goes here{/block}
mypage.tpl的输出
<html>
<head>
<title>My Page Title</title>
</head>
<body>
My HTML Page Body goes here
</body>
</html>
+1
+1真棒,感谢您添加此答案! (我不再使用Smarty,但正如你所说,这对其他人来说是一个很好的参考) – Cameron 2011-08-19 18:16:29
相关问题
- 1. 动态选择在django中扩展哪个基本模板
- 2. 在函数扩展中展开模板
- 3. phalcon - 我们有Smarty模板引擎作为C扩展吗?
- 4. Django扩展模板
- 5. Django扩展模板
- 6. Pageparts扩展模板
- 7. 扩展类模板
- 8. 在Smarty的模板
- 9. 如何在NetBeans中更改PHP Smarty插件模板文件扩展名?
- 10. Django的扩展不同的基本模板
- 11. Smarty模板i18n
- 12. 在Chrome扩展中渲染Mustache.js模板
- 13. 在Kohana中扩展模板控制器
- 14. 如何在瓷砖中扩展模板?
- 15. Smarty模板中的Eval Smarty代码
- 16. 404 php扩展错误smarty
- 17. 在CodeIgniter中集成Smarty和模块扩展
- 18. django模板扩展基地,但基地有变量显示
- 19. C++组合模板扩展
- 20. 如何扩展模板?
- 21. 扩展的Sharepoint XSL模板
- 22. 扩展Django管理模板
- 23. Django模板扩展问题
- 24. 可变模板包扩展
- 25. Variadic模板lambda扩展
- 26. 扩展Django表格模板
- 27. openshift模板参数扩展
- 28. Smarty模板问题
- 29. Smarty模板 - 多类
- 30. Smarty模板PHP脚本和级联
谢谢,这正是我正在寻找 – Cameron 2009-11-03 20:50:00