2013-04-21 51 views
6

我開始使用純HTML創建網頁。我有一個標題,主要內容和頁腳。主要內容分爲左右兩個內容。除了正確的內容以外,所有頁面上的所有內容都是相同的。現在我有大約15頁。如果我在其他靜態頁面(頁眉,頁腳和左側內容)上進行一些更改,這是非常煩人的,因爲我必須瀏覽所有頁面。在HTML中創建模板的最佳做法

什麼是爲每個靜態區域創建一個HTML文件的最佳方式,以及如何整合它?

回答

4

有幾種方法可以做到這一點。

如果您純粹使用HTML,那麼您可以使用「服務器端包含」 - 這是一個允許您將文件加載到頁面的標籤(請參閱)。誰託管你的網站必須支持這一點。

<!--#include virtual="../quote.txt" --> 

如果YOUE虛擬主機碰巧使用PHP,你可以做到這一點使用包括方法(見http://php.net/manual/en/function.include.php):

<?php include('path_to_file/file.htm');?> 

這將包括在該點的文件放置標記。但是,無論是誰託管您的網站需要支持這一點。

還有其他方法可以做到這一點,這些是我使用的兩個方法。

+0

我目前正在使用wampserver在本地機器上構建網站。我已經按照步驟來做到這一點,但似乎沒有奏效。是否有必要將所有文件重命名爲.shtml?我想保留html擴展,這是由於舊網站已運行多年,我不希望Google緩存被浪費。我添加了這個wamp apache配置:'AddType text/html .shtml Options + Includes AddOutputFilter INCLUDES .shtml' – 2013-04-22 09:58:10

+0

碰巧......我也使用WAMP服務器:)'<?php include(' path.htm')?>'是最簡單的方法,因爲默認情況下應該啓用PHP。這樣就不需要修改Apache配置文件。如果您使用這種方法,則不需要修改文件的擴展名。 – swshaun 2013-04-23 18:13:03

10

有本質上,三個地方,你可以這樣做:

  1. 在構建時。運行將頁面放在一起並輸出靜態HTML的腳本。然後將靜態HTML上傳到服務器。 ttree非常適合這個。你可以將這個腳本包裝在一個完整的構建系統中,該系統將你的CSS和JS組合並縮小,然後將其上傳到服務器。這是最少需要擔心客戶端和服務器支持的選項。更新:這幾天有很多static site builders合併這個功能。
  2. 運行時在服務器上。這可以是簡單的,PHP include或可能在MVC框架(例如CatalystDjango)內運行的完整模板系統(其中有很多模板系統,包括Template Toolkitmustache)。這是最常用的方法,它在進行更改和將結果放入生命期然後在構建時進行模板化的時間較少。
  3. 在客戶端運行時。這增加了對JavaScript的依賴,所以我不會推薦它,除非你已經有a server side solution
+0

我看過ttree和其他模板工具包,但這看起來很複雜。我在本地機器上使用wampserver。使用純html。也有跟隨改變apache配置允許'包括',但這不起作用。 – 2013-04-22 10:00:23

相關問題