我创建了这个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。
答案 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>