2010-07-26 34 views
2

假設您正在製作一個網站模板,其中包含許多網頁(index.html,blog.html,contact.html ...)。首先設計主頁,然後轉到其他頁面。當你在其他頁面上時,你會想到一些改進,這些改進必須影響整個網站。包括HTML文檔中的其他頁面

所以我回到每個頁面並進行更改。這是非常沒有成效的,特別是當你有6頁或更多的頁面,有時你忘記更新更改。

如果是PHP,我會做

require ('header.php'); 

這個工作對我很好。但是現在,我正在研究HTML,並且不太想轉換爲PHP,然後再轉換爲HTML。

那麼你有這樣做的具體方法嗎?

回答

4

如果您正在使用HTML頁面(例如,包括擴展名.htm.html),請考慮使用Server Side Includes。此方法適用於基本的HTML解析,並且受大多數/所有主要Web服務器支持,包括ApacheIIS

只要加入這段文字在您的.html文件:

<!--#include virtual="header.html" --> 

Web服務器將隨後獲取標記在該文件中,並會在它目前提供該頁面內嵌插入。

+0

@anonymous downvoter:謹慎解釋爲什麼這個答案,以html爲中心包含,不能直接尋找包含html文件的方法來解決這個問題? – 2010-07-26 02:09:21

+0

我使用Abyss Web Server,它支持服務器端包含。我雖然沒有。實際上,這是最好的解決方案,因爲我不需要使用PHP或任何其他語言。這很簡單,只是工作。 – 2010-07-26 12:20:16

6

如果您的服務器支持,您可以使用服務器端包含來獲得所需的效果。

您可以使用PHP來包含一些較小的HTML文件。 PHP腳本很少。不需要「變換」。就像require('header.html'); require('body.html'); require('footer.html');或類似的東西。

如果您擔心的是需要編寫大量的PHP,您可以使用Smarty TPL等模板引擎將代碼與頁面分開,並儘量減少編碼的數量。這還有一個額外的好處,就是擁有HTML「生成器」,它可以自動完成爲您生成單選按鈕或混淆電子郵件地址等操作。

您可以使用CSS爲頁面集中樣式,以便通過修改樣式表來進行網站外觀,佈局和設計更改。

3

您可以使用PHP作爲預處理器,代碼生成器。在本地計算機上運行PHP,然後保存它生成的靜態HTML頁面並將其發佈到生產環境中。您可以編寫一個腳本來訪問每個PHP頁面並保存相應的HTML。然後,您可以在設計時享受PHP帶來的便利,以及生產中HTML的簡單性。