-2

您好,我想知道如何在我的标题中使用 PHP,以便在正确的页面上激活我的活动类。

例如在我的 index.php 上,我在顶部有这个

<?php 
$page = 'Home';
include("header.php");
?>

然后这是我的导航

           <nav>
                <ul>
                    <li><a class="active" href="index">Home</a></li> 
                    <li class="rightside"><a href="projects">Projects</a></li>
                    <li class="rightside"><a href="about_us">About</a></li>
                    <li class="rightside"><a href="blog">Blog</a>
                    <li class="rightside"><a href="contact">Contact</a>

                </ul>
            </nav>

如果有任何意义,我希望当我在适当的页面上时激活课程。谢谢,我的PhP知识很少。

4

2 回答 2

1

if这是可以内联使用的简写语句

<?php echo ($page == 'Home' ? 'active':'');?>

见下文

            <nav>
               <ul>
                    <li><a class="<?php echo ($page == 'Home' ? 'active':'');?>" href="index">Home</a></li> 
                    <li class="rightside"><a class="<?php echo ($page == 'Projects' ? 'active':'');?>" href="projects">Projects</a></li>
                    <li class="rightside"><a class="<?php echo ($page == 'About_us' ? 'active':'');?>" href="about_us">About</a></li>
                    <li class="rightside"><a class="<?php echo ($page == 'Blog' ? 'active':'');?>" href="blog">Blog</a>
                    <li class="rightside"><a class="<?php echo ($page == 'Contact' ? 'active':'');?>" href="contact">Contact</a>

                </ul>
            </nav>

我个人为此使用了一个 jquery 函数,它节省了每次都必须声明页面类型

jQuery

$(function () {
  var url = window.location.href.substr(window.location.href.lastIndexOf("/") + 1);
  $('[href$="'+url+'"]').parent().addClass("active");
});
于 2013-09-19T21:37:30.263 回答
0

如果您总是在标头包含之前声明 $page,那么您可以使用 if 语句。只是一个例子:

<nav>
        <ul>
                <li><a class="<?php echo ($page == 'Home') ? 'active' : 'rightside'; ?>" href="index">Home</a></li> 
               <!-- same for your other list elements -->
        </ul>
</nav>
于 2013-09-19T21:36:37.197 回答