2011-10-02 107 views
0

對不起,如果這個問題似乎有點開放性,但我經常想要添加新的頁面到我的網站。隨着我的網站不斷增長,這意味着我要回去並在我以前的頁面的全部上添加一個鏈接到新頁面,這正變得越來越耗時。有沒有辦法解決?一種自動方法?顯然,在一個理想的世界中,您首先會正確地獲取模板頁面,但這似乎並不容易進行擴展。大型網站如何應對?謝謝。向網站添加新頁面

+1

你使用什麼框架/語言? – clickatwill

+0

到目前爲止,我剛剛使用HTML,但Walkerneo建議的似乎只是我需要的東西。 – Lars

回答

1

您的用戶服務器端包含。

在PHP中有include()require()

include('filename.php')將「filename.php」的內容添加到它被列入頁面。 Require需要做同樣的事情,但如果腳本無法找到或使用該文件,腳本將停止。

而不是做的:

<div id="navbar" > 
    <ul> 
     <li>Menu</li> 
     <li>item</li> 
     <li>item</li> 
     <li>item</li> 
    </ul> 
</div> 

把它放在一個名爲 「navbar.html」 文件,只是做:

<?PHP include('navbar.html'); ?> 

在你的包含文件,你可以有:

<div id="navbar" > 
    <ul> 
     <li id="1" class="<?PHP echo $m1class ?>">Menu</li> 
     <li id="2" class="<?PHP echo $m2class ?>">item</li> 
     <li id="3" class="<?PHP echo $m3class ?>">item</li> 
     <li id="4" class="<?PHP echo $m4class ?>">item</li> 
    </ul> 
</div> 

然後在PHP文件中:

<?PHP 
    $m1class=$m2class=$m4class="notCurrent"; 
    $m3class="current"; 
    include('navbar.php'); 
?> 

這將是一樣的做:

<?PHP 
     $m1class=$m2class=$m4class="notCurrent"; 
     $m3class="current"; 
     include('navbar.php'); 
?> 
<div id="navbar" > 
     <ul> 
      <li id="1" class="<?PHP echo $m1class ?>">Menu</li> 
      <li id="2" class="<?PHP echo $m2class ?>">item</li> 
      <li id="3" class="<?PHP echo $m3class ?>">item</li> 
      <li id="4" class="<?PHP echo $m4class ?>">item</li> 
     </ul> 
</div> 

...除非你可以改變包括文件,以便它改變每一頁。兩者的輸出將是:

<div id="navbar"> 
     <ul> 
      <li id="1" class="notCurrent">Menu</li> 
      <li id="2" class="notCurrent">item</li> 
      <li id="3" class="current">item</li> 
      <li id="4" class="notCurrent">item</li> 
     </ul> 
</div> 

Goodluck!

+0

謝謝,這似乎正是我需要的東西。只有一個問題;我希望菜單中的特定項目在查看該頁面時具有「當前」類別。這只是一個簡單的例子,在頁面上添加一些JavaScript來添加類? – Lars

+0

當您包含文件時,就好像文件中的所有內容都位於您包含它的位置。我會更新帖子。 – mowwwalker

+0

謝謝,這非常有用。只有一件事,包含('測試')聲明的目的是什麼?什麼是'測試'? – Lars