2013-11-21 67 views
0

我正在將網站作爲大學作業的一部分。我使用CSS爲我的頁面設置了導航列表,因此當選擇頁面時,鏈接會以粗體顯示,旁邊有圖像。我希望保持這個菜單的風格,但是將這部分html代碼移到一個.php文件中,並將它包括在每個頁面中以供代碼重用。PHP導航菜單

容易做到這一點,因爲我有一個類來確定哪個頁面被選中,改變鏈接的外觀我將如何去傳遞這個PHP文件 - 這可能嗎?

代碼片段如下......目前

HTML列表:

<ul> 
    <li class="selected"><a href="index.html">Home</a></li> 
    <li><a href="login.html">Members Login</a></li> 
    <li><a href="#">Music Categories</a></li> 
    <li><a href="#">Contact Us</a></li> 
</ul> 

CSS所選頁面:

nav ul li.selected a 
{ 
color:#fff; 
font-weight:bold; 
background:url(images/music_note2.png) center left no-repeat; 
} 

是否有某種形式的代碼,我可以使用通過頁面的名稱? Appologies我從來沒有使用PHP。不確定是否重要,但後來我還需要隱藏或顯示菜單上的某些鏈接,具體取決於用戶是否已登錄

+0

您談論PHP代碼,但您根本不顯示任何內容。 – Pitchinnate

+0

@pitchinnate在問題中提到的從使用html導航到php的移動。我還沒有做過這樣的事情,這是不可能的。我曾在互聯網上搜索過,但沒有收到任何相關信息 – ToniHopkins

回答

3

你可以做到這一點,在短短的CSS,如果你想。只需添加一個類的每一頁就像home家,contact聯繫的body

<body class="home"> // for home page 
    ... 

<body class="contact"> // for contact page 
    ... 

然後添加相同的類到您的導航,如:

<ul> 
    <li class="home"><a href="index.html">Home</a></li> 
    <li class="login"><a href="login.html">Members Login</a></li> 
    <li class="music"><a href="#">Music Categories</a></li> 
    <li class="contact"><a href="#">Contact Us</a></li> 
</ul> 

現在可以突出您的活動菜單項如:

.home .home a, 
.login .login a, 
.music .music a, 
.contact .contact a { 
    color:#fff; 
    font-weight:bold; 
    background:url(images/music_note2.png) center left no-repeat; 
} 
+1

哦,我喜歡它。我現在就放棄它 – ToniHopkins

+1

這實際上是非常優雅的......如果這是在通過MVC框架爲每個頁面拉入的某種主視圖中,它會崩潰(但是可能會有$ _GET var確定可用於確定類的頁面)。 – CD001

+0

@ CD001我發現它適用於主導航;對於二級導航或更復雜的事情,我傾向於用php來添加'active'類,就像在MarcB的答案中一樣。 – jeroen

2

最簡單的方法是簡單地設置一個變量,您的包含菜單文件將檢查:

<?php 
$cur_page = 'home'; 
include('menu.php'); 

,然後在menu.php

<li<?php echo ($cur_page == 'home') ? ' class="selected"' : '' ?>><a href etc..... 
<li<?php echo ($cur_page == 'members') ? ' class="selected"' : '' ?>> etc.... 
+0

他甚至不知道如何調查用戶在哪個頁面上。您是否閱讀過這個問題? –

+0

@StefanoL Im a she =) – ToniHopkins

+0

找到一個很好的教程,任何人都想按照Marc B的建議:http://alistapart.com/article/keepingcurrent – ToniHopkins