![](/img/trans.png)
[英]Bootstrap, nav-tabs, dropdown menus; how to set active tab based on URI
[英]Getting 'active' page to set nav tab
我希望能够提取当前使用的文件名和url,设置两个变量(文件名,文件夹),并对照数组进行检查。 根据值的不同,我们为<li>设置一个“活动”类,以显示该页面是该部分的一部分。
我以前从未真正使用过阵列,但是我进行了一些研究,认为它们将是最合理的方法。 我用文件夹名称设置了一个数组,并且应该有哪些页面
$navPages = array ( "band" => array ("biography","index"),
"music" => array ("discography","lyrics","meanings",),
"site" => array ("about","team")
);
因此,在上方,/ band /文件夹应具有传记.php和index.php。 因此,现在,我需要一种方法来查看该数组并进行匹配,以便如果我访问“ site.com/band/biography.php”,则可以检查该数组并说“是,您现在,在“频段” <LI>上应用“活动”类。
到目前为止,我已经能够获取文件名
$page = basename($_SERVER['PHP_SELF'], ".php");
现在,我不知道如何检查每个数组以查看是否在正确的页面中。 我试过了
if(in_array($page, $navPages[band])) {
$class = 'active';
}
那行得通,但是我认为必须有一种方法可以一次检查所有三个数组,“ band”,“ music”,“ site”。 所以我想看看文件名是否在数组中,但是我还需要确保文件名在正确的位置。 例如,index.php可以位于任何文件夹中,如果index.php位于“ band”数组中,而不仅仅是整个$ navPages数组,我只想要一个正确的语句。
有人可以帮我这个忙吗? 我尝试尽可能详细,让我知道是否缺少某些内容。
另外,这是我第一次尝试进行这样的导航部分。 因此,如果您发现我在完成这项工作所需的内容上缺少一些逻辑,那么任何提示都将不胜感激,谢谢!
不要指定密钥band
:
if(in_array($page, $navPages)) {
$class = 'active';
}
这将在整个数组中查找当前页面,如果是,condition将把该类设置为current。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.