【问题标题】:PHP navigation menuPHP 导航菜单
【发布时间】:2013-11-21 15:40:57
【问题描述】:

我正在制作一个网站作为大学作业的一部分。 I have a navigation list for my pages styled using CSS so when a page is selected the link appears bold with an image beside.我想保留此菜单的样式,但是将这部分 html 代码移动到 .php 文件中,然后将其包含在每个页面中以供代码重用。

但是很容易做到,因为我设置了一个类来确定选择哪个页面并更改链接的外观我将如何将其传递给 PHP 文件 - 有可能吗?

下面的代码 sn-ps...

目前的 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。不确定这是否重要,但稍后我还需要根据用户是否登录来隐藏或显示菜单上的某些链接

【问题讨论】:

  • 你谈论 PHP 代码,但你根本没有展示任何代码。
  • @pitchinnate 正如问题中提到的,我正在从使用 html 导航转移到 php。我还没有制作一个以防万一这是不可能的。我在互联网上搜索过,但没有得到任何相关信息

标签: php html css navigation


【解决方案1】:

如果你愿意,你可以只用 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;
}

【讨论】:

  • 哦,我喜欢。我现在就试一试
  • 这实际上非常优雅......如果这是通过 MVC 框架为每个页面拉入的某种主视图,它会崩溃(但可能会有一个 $_GET 变量来识别您可以用来确定 类的页面)。
  • @CD001 我发现它非常适合主导航;对于辅助导航或更复杂的事情,我倾向于在 MarcB 的答案中添加 active 类和 php。
【解决方案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....

【讨论】:

  • 他甚至不知道如何调查用户在哪个页面上。你读过这个问题吗?
  • @StefanoL Im a she =)
  • 为任何想要按照 Marc B 建议的方式进行操作的人找到了一个很好的教程:alistapart.com/article/keepingcurrent
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 2021-04-10
  • 2023-03-03
相关资源
最近更新 更多