0

在试图解决这个问题时,我正在处理以下类型的断断续续的代码。

<?php $curURL = ROOT.$_SERVER['REQUEST_URI']; ?>
            <li><a href="<?php $href = APP_ROOT; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">HOME</a></li>
            <li><a href="<?php $href = APP_ROOT.'about'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">ABOUT</a></li>
            <li><a href="<?php $href = APP_ROOT.'portfolio'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">PORTFOLIO</a></li>
            <li><a href="<?php $href = APP_ROOT.'services'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">SERVICES</a></li>
            <li><a href="<?php $href = APP_ROOT.'blog'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">BLOG</a></li>
            <li><a href="<?php $href = APP_ROOT.'contact'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">CONTACT</a></li>

我目前得到的结果是,如果我在选定的页面 url 上,(ex. http://localhost/myapp/index/)那么它将相应地更改 css 样式。我希望发生的是,即使我在该页面的子 url 上,css 样式也会保持变化(ex. http://localhost/myapp/index/dosomething/)。一段时间以来,我一直在用头撞墙。

4

2 回答 2

1

这就是我在我的一个网站上的做法。这是一个将类应用于活动链接的示例,但想法是相同的......

PHP

$current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$fullPath = parse_url($current_url, PHP_URL_PATH);
$prepare = explode('/',$fullPath);
$path = "/" . $prepare[1];

HTML

<li><a href="location.php"<?php if($path == $thePath) { echo 'class="active"';}?>>Link Title</a>
于 2012-07-31T00:29:22.713 回答
0

一种方法是解构路径并查看结构是什么。例如,如果路径是 myapp/index/dosomething,则采用该路径并通过用“/”分割字符串来创建一个数组。然后检查一下 array[2] 是什么并根据它设置你的样式。

于 2012-07-31T00:27:21.410 回答