我正在处理两个包含导航菜单的页面。我遇到的问题是显示哪一个是活动的。现在,即使我在图表中,Rapport仍然保持活跃状态。我注意到$ page总是返回Rapport,我不知道为什么。
在图表(index.php)中我有:
include('../rapport/navigasjon.html');
$page = 'diagram';
$_SESSION['diagram']= $page;
在rapport(index.php)中我有:
include('navigasjon.html');
$page = 'rapport';
$_SESSION['rapport']= $page;
在navigasjon.html中我有:
session_start();
$page = $_SESSION['diagram'];
$page = $_SESSION['rapport'];
和
<li class='pil <?php if($page=='rapport') {echo 'active';} ?>'> <a href="../rapport/index.php" class='rapport' >Rapport</a></li>
<li class='pil <?php if($page=='diagram') {echo 'active';} ?>' ><a href="../diagram/index.php" class='diagram' >Diagram</a></li>
答案 0 :(得分:2)
设置$page
变量BEFORE包括您的导航:
diagram / index.php:
$page = 'diagram';
$_SESSION['diagram']= $page;
include('../rapport/navigasjon.html');
和rapport / index.php:
$page = 'rapport';
$_SESSION['rapport']= $page;
include('navigasjon.html');
在navigasjon.html中删除以下行:
$page = $_SESSION['diagram'];
$page = $_SESSION['rapport'];
答案 1 :(得分:0)
如果您尝试将类设置为活动菜单,可以使用目录名尝试此操作。
<?php
$pathInfo = pathinfo($_SERVER['PHP_SELF']);
$page = strtolower(end(explode('/', $pathinfo['dirname'])));
?>
<li class='pil <?php if($page=='rapport') {echo 'active';} ?>'> <a href="../rapport/index.php" class='rapport' >Rapport</a></li>
<li class='pil <?php if($page=='diagram') {echo 'active';} ?>' ><a href="../diagram/index.php" class='diagram' >Diagram</a></li>