2012-09-03 48 views
1

我卡在代码中。我正在建立一个有很多内页的网站。我包含“sidebar.php”并将我的侧面导航放在这个文件中。使用PHP进行导航处理

<div class="side-nav"> 
      <ul> 
       <li><a href="#">Calls</a> 
        <ul> 
         <li><a href="record-calls.php">Call Record</a></li> 
         <li><a href="call-logs.php">Call Logs</a></li> 
         <li><a href="live-call-intercept.php">Live Call Intercept</a></li> 
         <li><a href="voicemail.php">Voicemail</a></li> 
        </ul> 
       </li> 

       <li><a href="#">SMS</a> 
        <ul> 
         <li><a href="sms-feature.php">SMS Feature</a></li> 
         <li><a href="redirect-sms.php">Redirect SMS</a></li> 
        </ul> 
       </li> 
      </ul> 
      </div> 

现在我想高光“记录通话”里当“记录calls.php”页面打开和其他列表不显示任何背景。

每页只包含1个sidebar.php。

+0

地方变量来跟踪页面 – Khaleel

+0

跟踪记录calls.php并提出一个条件,如果该URL中包含记录calls.php然后让李加亮 – Wearybands

回答

1

你可以简单地使用,如果条件

if(stristr($_SERVER['PHP_SELF'],'record-calls.php')) 
{ 
    //highlight it 
} 

感谢

0

设置一些独特的类对您<body>指定网页,并用它来样式化菜单中的相关部分。

Exemples(不漂亮,但我用你的实际的HTML):

.record-calls side-nav li li:first-child { /* highlight styles */ } 
.call-logs side-nax li li:first-child + li { /* highlight styles */ } 

等等

1

有一些方法可以用来突显工具栏菜单上的当前页面。我不知道你的结构。在这种情况下,我建议通过php获取当前URL并检查是否包含记录调用。类似的东西:

<li <?php if(strpos('record-calls', $current_url) !== false) echo "class='current'"; ?>><a href="record-calls.php">Call Record</a></li> 
0

获取文件名:

<?php 
    $pathinfo = pathinfo(__FILE__); 

    $basename= $pathinfo['basename']; 
?> 

检查,并指定一个类:

<?php echo ($basename == 'pagename.ext') ? class="select" : '' ?>

在每<a>像:

<li><a href="record-calls.php" <?php echo ($basename == 'record-calls.php') ? class="select" : '' ?> >Call Record</a></li>

让CSS类:

.select{background-color: #somecolorforhighlight;}