繁体   English   中英

进入“活动”页面以设置导航标签

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM