2014-01-30 53 views
1

這或多或少在網絡上的各個地方得到回答,但我有一點麻煩轉向什麼我發現轉化成有用的信息排序。選項使用相同的頁眉/頁腳/導航/等。整個網站?

我收集了這個問題有多種解決方案(問題是整個網站使用相同的頁眉和相同的導航,並在他們的數百頁上使用相同的頁腳,但是如果他們想要更改它有點,他們將不得不手動改變每一個頁面)。

一個我認爲是使用Dreamweaver模板,將在被改變,自動反映在每一個頁面這些變化的解決方案。我不在乎太多的這種解決方案,但是,因爲它取決於在Dreamweaver上,我可能並不總是因爲某種原因使用Dreamweaver。另外,每一個頁面都必須重新上傳。這個解決方案對我來說不是很有吸引力。

另一種解決方案,我發現使用PHP腳本服務插入一個PHP文件(即本質上是頁眉或頁腳或導航佈局)到每一頁。而當您更改PHP文件時,更改反映在每個頁面中。

最有吸引力的解決方案,我發現到目前爲止,這個計算器的問題中提到:

How to make same layout for all web pages

它提到簡單地使用SSI包含包含您想保持一致,任何內容的HTML頁面整個你的網站很多頁面。這與PHP解決方案的概念相同;一個文件,當更新時,這些更改反映在每個頁面上。只是它似乎是一個更清潔/更簡單,更容易的解決方案。

出了三中,SSI是倒手,我最有利的,但是否有其他解決辦法?理想情況下,我想是一個解決方案,讓我:

  • 進行更改到一個源文件,該文件將反映在所有的頁面
  • 請允許我在本地查看更改,而無需上傳到一個Web服務器或無需運行本地Web服務器
  • 讓我很容易在主導航指定當前頁面

我想這是所有我在尋找,我無法想象沒有適合我所尋找的解決方案。最後一個項目,允許我指定導航中的當前頁面,這是我一直試圖弄清楚的。我當前知道指定一個特定的菜單項作爲當前頁面的唯一方法是,在html中,爲該特定菜單的條目(IE:HTML中的「Home」頁面的.current類)指定一個類。然後我爲.current配置的CSS樣式將反映在頁面上。但是這依賴於每個頁面上的菜單,因爲我必須將.current類移到每個相應的菜單項。當我打字的時候,我開始意識到與我的網站結構設計有關的其他幾個問題......主要是,我沒有想到我將如何構建子菜單頁面以及它們的內容......呃,但我可以通過一些仔細的想法和計劃來弄清楚這一點:P和這個問題真的無關,我只是想把它扔到那裏,因爲它可能已經被問到,或者可能會證明一些有用的信息^ _^

非常感謝您!

誰downrated我的問題,請解決這個問題。儘管我確信你認爲這是一個多餘的帖子,並且完全沒有用處,但是在瀏覽幾個相同或類似問題後,我已經找到了我之前回答的許多問題。對於類似的問題,你可能會略有不同的觀點,對可能的解決方案有不同的看法,這是非常有用的。另外,如果給出例子,你會發現不同的例子,這給了你更多的資源。我不認爲以任何理由降低我的問題是不公平的。我認爲這個問題只是可能有用而且沒有傷害。謝謝,這是非常讚賞:)

+2

這確實是什麼PHP的... –

+2

PHP包括會讓你通過你問的大部分。此外,它非常整潔,性感,簡單等。如果您沒有經驗且您的要求很低,您可以基本上只使用PHP。結果將是一個只包含HTML的PHP​​文件,或主要。 –

+1

同意,PHP是我會走的路。 – danmullen

回答

0

我強烈使用PHP這個建議更換,但也許你可以使用jQuery通過加載一個div內外部頁面要做到這一點,是這樣的:

$(document).ready(function() { 
    $("#div-that-will-load-").load('page_contato.php'); 
}); 

這樣您需要爲HEADER,FOOTER,MENU保存相同的代碼,並將其保存在不同的文件中,並隨時隨地輕鬆調用。

+0

這聽起來像PHP是最好的方式去,所以我要去與此。每個人都非常快地建議它,這是令人放心的。我希望有另一種解決方案,考慮到我喜歡能夠進行更改並在本地進行檢查的便利性,但如果這是最好的方法,那就這樣吧!我發現這個教程:http://www.apaddedcell.com/how-automatically-include-your-header-navigation-and-footer-every-page 這似乎概述瞭如何做到這一點,所以我接下來會開始。謝謝! – Soundfx4

3

SSI仍然是您的答案。首先,在本地系統上運行Web服務器很容易。我絕不會建議沒有一個網頁開發。花20分鐘運行http://nginx.org/,它將解決您可能正在從文件系統測試您的站點的其他問題。

SSI已經不僅僅是包括(瞭解更多關於他們通過谷歌搜索它)例如其他很多功能,可以顯示當前頁面,如下所示:

<ul> 
<!--# if expr="${REQUEST_URI} = \/" --> 
<li>Home 
<!--# else --> 
<li><a href="/">Home</a> 
<!--# endif --> 

<!--# if expr="${REQUEST_URI} = \/test.shtml" --> 
<li>Test 
<!--# else --> 
<li><a href="/test.shtml">Test</a> 
<!--# endif --> 
</ul> 

雖然表明使用JavaScript當前頁面也是合理的。

+0

你知道嗎?你是絕對正確的。我之前建立了一個網絡服務器,這並不難,我可以很容易地將服務器的根目錄設置到我的網站的目錄中,當我保存它時,BOOM ...我只需要打開它來測試它。不過,我必須問,這裏的大多數人都建議使用PHP插入。什麼是你喜歡通過PHP插入SSI?有沒有什麼是SSI可以做的,PHP無法做或反之亦然?謝謝! – Soundfx4

+1

好問題。 PHP可以比SSI做得更多,因此大多數人都會選擇「廚房水槽」解決方案。我出於同樣的原因避免它 - 我喜歡用最簡單的技術來解決我的問題。最近幾年,我停止在我的HTML文檔(舊的服務器頁面樣式<?php或<%標記)中使用PHP,並且我的代碼庫的清晰度顯着提高。我仍然使用PHP構建REST Web服務,並使用Ajax和SSI將它們與主HTML文檔集成。這有點不正統,但它效果很好。 –

+0

然後,這讓我想再次傾向於SSI作爲解決方案。老實說,我仍然需要學習PHP,但是如果SSI最簡單,並且允許我指出當前頁面,那麼我沒有理由不使用它! :) 謝謝! – Soundfx4

相關問題