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