我正在使用Active_Page来显示我所在的页面,因为我的导航位于包含中,但是我有一个多级导航,并希望两者都突出显示为活动状态,如果我在打印.php页面上,我希望"我们做什么"选项卡突出显示"我们做什么"选项卡,该选项卡位于"我们做什么"选项卡中。
导航包括
<li>
<a href="#" id="<?php if (ACTIVE_PAGE == "What We Do") echo "active"; ?>">What We Do</a>
<ul>
<li>
<a href="index.html#modal">Portfolios</a>
<ul>
<li><a href="solportfolios.php" id="<?php if (ACTIVE_PAGE == "Port-Solicitors") echo "active"; ?>">Solicitors</a></li>
<li><a href="esportfolios.php" id="<?php if (ACTIVE_PAGE == "Port-Estate-Agents") echo "active"; ?>">Estate Agents</a></li>
<li><a href="miscportfolios.php" id="<?php if (ACTIVE_PAGE == "Port-Additional") echo "active"; ?>">Additional</a></li>
</ul>
</li>
<li>
<a href="print.php" id="<?php if (ACTIVE_PAGE == "Print") echo "active"; ?>">Print</a>
</li>
<li>
<a href="web.php" id="<?php if (ACTIVE_PAGE == "Web") echo "active"; ?>">Web Design</a>
</li>
<li>
<a href="services.php" id="<?php if (ACTIVE_PAGE == "Additional Services") echo "active"; ?>">Additional Services</a>
</li>
</ul>
</li>
活动主页
<?php
define ('ACTIVE_PAGE',"Port-Estate-Agents");
define ('ACTIVE_PAGE',"What We Do");
include ('inc/nav.inc.php');
?>
也试过..
<?php
define ('ACTIVE_PAGE',"Port-Estate-Agents","What We Do");
include ('inc/nav.inc.php');
?>
和
<?php
define ('ACTIVE_PAGE',"Port-Estate-Agents, What We Do");
include ('inc/nav.inc.php');
?>
如果你的导航总是只有两级深,你可以只使用两个常量。类似于ACTIVE_LEVEL1和ACTIVE_LEVEL2的东西。
<?php
define ('ACTIVE_LEVEL1',"Port-Estate-Agents");
define ('ACTIVE_LEVEL2',"What We Do");
include ('inc/nav.inc.php');
?>
不过,这并不是所有解决方案中最好的。特别是如果您打算添加第三个、第四个、第五个......水平。如果打算这样做,则应将导航结构建模为树。这可以与嵌套数组或基于数据库的完整树一起使用。与其直接检查页面是否处于活动状态,不如调用一个方法来检查页面是否是从树根到当前活动页面的一部分。