【问题标题】:Show active navigation for current page显示当前页面的活动导航
【发布时间】:2017-03-31 10:40:59
【问题描述】:

我的 html、php 代码有一些问题。使用此代码,我的导航将显示活动的 li,但其他不活动的页面将没有样式或链接。

    <!--/. PHP "active" -->
    <?php
    $current_url = basename($_SERVER['PHP_SELF']);
    $active = "class=\"active-menu\"";
    ?>
    <!--/. PHP "active" -->

    <nav class="navbar-default navbar-side" role="navigation">
        <div class="sidebar-collapse">
            <ul class="nav" id="main-menu">
                <li>
                    <?php if ($current_url == "home.php") { ?>
                    <a <?php echo $active;?> href="home.php"><?php } ?><i class="fa fa-dashboard"></i> Dashboard</a>
                </li>
                <li>
                    <?php if ($current_url == "new.php") { ?>
                    <a <?php echo $active;?> href="new.php"><?php } ?><i class="fa fa-qrcode"></i> Nieuw item toevoegen</a>
                </li>
                <li>
                    <?php if ($current_url == "show.php") { ?>
                    <a <?php echo $active;?> href="show.php"><?php } ?><i class="fa fa-qrcode"></i> Bekijk inventaris</a>
                </li>
                <li>
                    <?php if ($current_url == "profile.php") { ?>
                    <a <?php echo $active;?> href="profile.php"><?php } ?><i class="fa fa-user"></i> Gebruikersprofiel</a>
                </li>
                <li>
                    <a href="#"><i class="fa fa-sitemap"></i> Gebruikers<span class="fa arrow"></span></a>
                    <ul class="nav nav-second-level">
                        <li>
                            <a href="#">Beheerders</a>
                        </li>
                        <li>
                            <a href="#">ICT - Verantwoordelijken</a>
                        </li>
                        <li>
                            <a href="#">Raadplegers</a>
                        </li>
                    </ul>
                </li>
                <li>
                    <?php if ($current_url == "empty.php") { ?>
                    <a <?php echo $active;?> href="empty.php"><?php } ?><i class="fa fa-fw fa-file"></i> Lege pagina</a>
                </li>
            </ul>

        </div>

    </nav>

没有样式的页面也没有链接。活动菜单类具有样式。

【问题讨论】:

  • 这完全有道理。查看您的 IF 语句。可以说,您在 new.php 上。所以 current_url = home.php 将是错误的 - 你根本没有显示链接。只需添加一个 else 条件。在 IF 中,你添加了 $active,在 else 中你没有添加它,但你仍然把链接放在那里。

标签: php


【解决方案1】:

您的if 条件错误。

在每个&lt;li&gt; 中尝试这样的事情。

<li>
    <a <?php echo $current_url == "home.php" ? $active : ''; ?> href="home.php"><i class="fa fa-dashboard"></i> Dashboard</a>
</li>

【讨论】:

    【解决方案2】:
    <li>
         <a href="new.php" <?php if ($current_url == "new.php") {echo $active;}?>>
         <i class="fa fa-qrcode"></i> Nieuw item toevoegen
         </a>
    </li>
    

    这样写你的清单

    【讨论】:

      【解决方案3】:

      您应该创建另一个类,例如 $not_active = "class=\"not-active-menu\""; 并将其添加到您的代码中

      <li>
           <a href="something.php" <?php if ($current_url == "something.php") {echo $active;} else { echo $not_active; }?>>
           <i class="fa fa-qrcode"></i> something
           </a>
      </li>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-01
        • 2012-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-24
        相关资源
        最近更新 更多