我正在使用一個動態的HTML模板系統(如PHP),我想知道這個問題/解決方案是否有名稱或已經在某個地方完成了。這個頁面渲染技術有一個名字嗎?
這個問題涉及動態控制內容,但事實上內容和代碼交織在一起。想想兩個頁面,一個使用了很多花哨的風格和框架,另一個沒有,但共享相同的「外部包裝器」模板。
<!DOCTYPE html>
<html>
<head>
<title>Both pages share a static title</title>
<script src="..." type="text/javascript">
<script src="..." type="text/javascript">
<script src="..." type="text/javascript">
</head>
<body>
<!-- only this part is dynamic, the top and bottom parts are shared among all pages -->
...
</body>
</html>
的計劃是留下記號其中報頭是,在體內修改的佔位符對象,然後替換佔位符的內容,其中令牌的頁面已完成後渲染(但被送到前客戶端)。
<!DOCTYPE html>
<html>
<head>
__HEAD__
</head>
<body>
<?
$head->title('my very own title');
$head->script('jquery 1.5.2');
?>
...
</body>
</html>
該標記將擴展爲實際的HTML。
<!DOCTYPE html>
<html>
<head>
<title>my very own title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript">
</head>
<body>
...
</body>
</html>
有沒有人見過這個?
編輯:這裏有人在談論同樣的問題,但有一個稍微不同的解決方案。
http://iamcam.wordpress.com/2007/07/15/smarty-assigning-variables-to-the-header-from-the-body/
編輯^ 2:下面的接受的答案是,這是東西模板引擎確實,這是真的。這種特殊情況的困難在於執行和模板引擎交織在一起(像老派的PHP),所以很難看清楚劃分。用適當的模板輕鬆解決。
哈哈,真的....... – dynamic 2011-05-03 19:36:37
我想當你這麼說的時候,發現並不是那麼令人興奮...... – 2011-05-03 19:39:18
我覺得很愚蠢/不好。我想,是的,這就是模板所做的事情,但我只是預想到直接替換/插值會稍微複雜一點。就像,變量可能是一個對象,它可能有方法,最終會通過渲染來響應方法。 我想我正在與Builder模式混合... – 2011-05-04 21:41:57