PHP使用includes在页面上设置活动链接

now*_*yyy 13 javascript php navigation jquery include

所以我搜索SO一小时试图找到答案,并尝试了各种方法,包括这个

我试图包括我的页面,以及导航.但是在正确的页面上,我需要list-item才能拥有一个类active.导航在header.php中,目前看起来像这样:

<nav>
    <ul>
      <li class="active"> <a href="/">Home</a> </li>
      <li> <a href="#">Apps</a> </li>
      <li> <a href="#">Forums</a> </li>
    </ul>
  </nav>
Run Code Online (Sandbox Code Playgroud)

首先,我不知道JS(jQuery)是否更好,或者PHP是否更好.两者都无关紧要.

另外我对PHP有点新,并试图学习.

什么是最简单的(希望)方法?所以我不需要改变很多代码只是为了给导航class="active"

Nea*_*eal 31

Asumming你有一个$page变量(包含你当前所在页面的名称):

  <nav>
    <ul>
      <li class="<?php echo ($page == "home" ? "active" : "")?>"> <a href="/">Home</a> </li>
      <li class="<?php echo ($page == "apps" ? "active" : "")?>"> <a href="#">Apps</a> </li>
      <li class="<?php echo ($page == "forums" ? "active" : "")?>"> <a href="#">Forums</a> </li>
    </ul>
  </nav>
Run Code Online (Sandbox Code Playgroud)

  • 如果你放置`<?php $ page ="home"; 在您收录的主页上,然后将Home设置为活动状态.不要忘记设置CSS. (5认同)

小智 8

这是一种不需要添加任何其他变量的简单方法

<li class="<?php echo ($_SERVER['PHP_SELF'] == "/index.php" ? "active" : "");?>">
<a href="index.php">Start</a>
</li>
<li class="<?php echo ($_SERVER['PHP_SELF'] == "/about.php" ? "active" : "");?>">
<a href="about.php">About</a>
</li>
<li class="<?php echo ($_SERVER['PHP_SELF'] == "/practices.php" ? "active" : "");?>">
<a href="practices.php">Practices</a>
</li>
Run Code Online (Sandbox Code Playgroud)