PHP导航菜单


PHP navigation menu

我正在制作一个网站,作为大学作业的一部分。我有一个使用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;
}

有什么代码我可以用传递页面名称吗?应用程序我从未使用过php。不确定这是否重要,但稍后我还需要在菜单上隐藏或显示某些链接,这取决于用户是否登录

如果你想的话,你可以在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;
}

最简单的方法是简单地设置一个变量,您所包含的菜单文件将检查该变量:

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

然后在菜单中.php

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