トップメニュー項目を自動的に強調表示するソリューションを探しています。
現在の状況は次のようになります: デフォルトのメニューが .txt ファイルに保存されています:
<li><a href="index.php">HOME</a></li>
<li><a href="#">MENU_1</a>
<ul>
<li><a href="submenu_1.php">Submenu_1</a></li>
<li><a href="submenu_2.php">Submenu_2</a></li>
</ul>
</li>
<li><a href="#">MENU_2</a>
<ul>
<li><a href="#">Submenu_1</a>
<ul>
<li><a href="sub_submenu_1.php">Sub_Submenu_1</a></li>
<li><a href="sub_submenu_2.php">Sub_Submenu_2</a></li>
</ul>
</li>
<li><a href="#">Submenu_2</a></li>
</ul>
</li>
<li><a href="menu_3.php">MENU_3</a></li>
<li><a href="menu_4.php">MENU_4</a></li>
そのため、、、、submenu
またはsub_submenu
その他のアイテムが現在のページの場合、一番上のMENU_X
親アイテムを強調表示する必要があります (MENU_X
ページのトップ バーにはアイテムのみが表示されるため)。
にCSSスタイルを適用したMENU_X
ので、トップメニューを次のように設定すると:
<li class="current"><a href="#">MENU_1</a>
.current
CSS スタイルによって強調表示されます。
今、私はこのようなことをする PHP スクリプトを探しています (例のみ):
<?php
$currentPage = $_SERVER["PHP_SELF"];
$url_parts = Explode('/', $currentPage);
$current_php_file = $url_parts[count($url_parts) - 1];
$raw_menu = file_get_contents("menu.txt");
$current_menu_item = '<li><a href="' . $current_php_file . '">'
$top_menuitem_of_current_page = someFunctionToFindOut(); //need some script to find out
$highlighted_menu_item = '<li class="current"><a href="' . $top_menuitem_of_current_page . '">';
$ready_menu = str_replace($top_menuitem_of_current_page, $highlighted_menu_item, $raw_menu);
echo $ready_menu;
?>
上記のコードは基本的にそのトリックを実行someFunctionToFindOut()
しますが、$top_menuitem_of_current_page
.
助言がありますか?