1

私はコードで立ち往生しています。内部ページがたくさんあるウェブサイトを構築しています。「sidebar.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>

「record-calls.php」ページが開いていて、他のリストに背景が表示されていないときに、「record-calls」liを強調表示したいと思います。

すべてのページに含まれている sidebar.php は 1 つだけです。

4

3 に答える 3

1

if条件を簡単に使用できます

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

ありがとう

于 2012-09-03T11:26:19.357 に答える
1

サイドバー メニューで現在のページを強調表示するために使用できる方法がいくつかあります。私はあなたの構造を知りません。この場合、php で現在の URL を取得し、たとえば、record-calls が含まれているかどうかを確認することをお勧めします。そんな感じ:

<li <?php if(strpos('record-calls', $current_url) !== false) echo "class='current'"; ?>><a href="record-calls.php">Call Record</a></li>
于 2012-09-03T11:30:46.920 に答える
0

特定のページに独自のクラスを設定し、<body>それを使用してメニューの関連部分のスタイルを設定します。

例 (きれいではありませんが、実際の HTML を使用します):

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

等...

于 2012-09-03T11:28:39.623 に答える