PHP导航菜单

时间:2013-11-21 15:40:57

标签: php html css navigation

我正在建立一个网站作为大学任务的一部分。我有一个使用CSS样式页面的导航列表,因此当选择页面时,链接显示为粗体,旁边有一个图像。我想要保留这个菜单的风格,但是将这部分html代码移动到.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;
}

我可以使用某种代码传递页面名称吗?我从未使用过的app。不确定是否重要但稍后我还需要隐藏或显示菜单上的某些链接,具体取决于用户是否已登录

2 个答案:

答案 0 :(得分:3)

如果你愿意,你可以在css中完成。只需在每个页面的body添加一个类,例如home到主页,contact即可联系等。

<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 :(得分: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....