.active类通过PHP

时间:2018-03-28 13:50:05

标签: php function html-lists

我创建了这个PHP函数:

function active_class($page){
    global $pagebase;

    if($pagebase == $page){
        return "active";
    }
    elseif($pagebase == null){
        $page = "home";
        return "active";
    }
    else{
        return "";
    }
}

但是当我在这个列表中使用它时:

<ul class="nav navbar-nav">
              <li class="<?php echo active_class("home"); ?>"><a href="http://example.com/home">Home</a></li>
              <li class="<?php echo active_class("about"); ?>"><a href="http://example.com/about">About</a></li>
</ul>

它显示http://example.com上没有/ home或/ about的活动类。我正在寻找解决这个问题的方法。有什么想法吗?

$pagebase只是$_GET['page']。每页都是/ home或/ about。

3 个答案:

答案 0 :(得分:0)

array

我相信它会像这样运作。

答案 1 :(得分:0)

回顾我的代码之后,我想我可以将db.tickets.aggregate( [ { "$match" : { "companyId" : "CO-000001", "$and" : [ { "status" : { "$in" : [ "open","on hold" ] } } ] } }, { "$group" : { "_id" : null, "uniqueValues" : { "$addToSet" : "$documentId" } } } ], { "allowDiskUse" : false } 更改为等于home,如果它为null(No db.tickets.find("companyId":"CO-000001", $and:[{documentId:{$nin:[<results from aggregation>]}}]) 。这将允许我使用我的代码而不使用elseif谢谢你的回复。

答案 2 :(得分:0)

$pagebase为空时,为了使主页选项卡处于活动状态,您必须添加 - $page == "home" - 条件,以便空状态仅适用于主选项卡并且仅返回活动状态一次。

<强>尝试:

function active_class($page){
    global $pagebase;

    if($pagebase == $page){
        return "active";
    }
    elseif($pagebase == null && $page == "home" ){
        $page = "home";
        return "active";
    }
    else{
        return "";
    }
}

另一种选择:

<ul class="nav navbar-nav">
  <li class="<?php echo ($pagebase=="home"?"active":""); ?>"><a href="http://example.com/home">Home</a></li>
  <li class="<?php echo ($pagebase=="about"?"active":""); ?>"><a href="http://example.com/about">About</a></li>
</ul>