2011-10-19 19 views
0

私はinclude_onceで含まれるメニューを持つ小さなPHPウェブサイトを持っています。各ページの現在のメニュー項目に追加されたHTMLクラスが必要です。PHPメニューにクラスを追加する

ユーザーがリンクをクリックしてそのページに行くと、新しいページがクラス= "現在"の新しいメニュー項目で読み込まれます。これをやり遂げるにはどうすればいいですか?

+6

コードが表示されずにかなりハードですが、メニューのHTMLとPHPでの生成方法を追加することを検討してください。また、現在のページをどのように伝えるか($ _GET配列など) –

答えて

1

のは、あなたがこのようなあなたのメニューを書きましょう:ここ

<ul> 
<li><a href="link1.com?menu=1"> Link1 </a></li> 
<li><a href="link2.com?menu=1"> Link2 </a></li> 
<li><a href="link3.com?menu=1"> Link3 </a></li> 
</ul> 

あなたはまた、どこか他の<li>かに<?=$1?>を配置することができます:-P

<?php 
//you get which link was clicked 
if(isset($_GET['menu']) $menu = $_GET['menu']; 
else $menu = 1; 

$1 = $2 = $3 = ""; //you create 3 empty strings 
switch($menu){ //you assign the correct string with your css class name 
case "1": $1 = 'class="current"';break; 
case "2": $2 = 'class="current"';break; 
case "3": $3 = 'class="current"';break; 
} 
?> 
//echo the variables into the menu anchors (<?=$1?> is equivalent to <? echo $1; ?>) 
<ul> 
<li><a href="link1.com?menu=1" <?=$1?> >Link1</a></li> 
<li><a href="link2.com?menu=2" <?=$2?> >Link2</a></li> 
<li><a href="link3.com?menu=3" <?=$3?> >Link3</a></li> 
</ul> 

古き良きPHP4スタイルのソリューションです欲しい...

プロジェクトでjavascriptを使用している場合は、アンカーにIDを指定することもできます(<a href="link1.com?menu=1" id="link1">Link1</a>など)。m $ _GETで上記のようなenu値を入力し、javascriptを使用してクラスを目的のリンクに追加します。

私は、あなたが書いていることから、あなたはPHPフレームワークを使用していないと思いますが、古い方法でアプリケーションをコーディングしていると思います...プリメークされた素晴らしいPHPフレームワークがたくさんありますこのソリューションは...最初は難しいかもしれませんが、それは価値があります...

幸運!

関連する問題