我正在寻找一种自动突出显示顶部菜单项的解决方案。
当前情况如下所示:我将默认菜单存储在 .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
.
有什么建议么?