2013-11-21 64 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