目前我正在使用我的网站页脚的PHP文件,因此我可以将其包含在每个页面上,只更改一个文件以更改网站每个页面上的页脚。
现在,我想对我网站上的菜单做同样的事情:
<ul>
<li><a href="#">Menu 1</a></li>
<li><a href="#" class="active">Menu 2</a></li>
<li><a href="#">Menu 3</a></li>
<li><a href="#">Menu 4</a></li>
</ul>
活动课程突出显示用户所在页面的名称,因此如果用户位于网站的“菜单2”页面,则会突出显示“菜单2”。现在我想知道如何将这个菜单放在一个单独的文件中,比如我可以在每个页面中包含的'menu.php',但仍然可以将class =“active”更改为用户所在的页面。
答案 0 :(得分:3)
$open_page = substr($_SERVER["SCRIPT_NAME"], strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
和
<ul>
<li><a href="#" <?php if($open_page == "Menu_1.php") echo " class= 'active' "; ?>>Menu 1</a></li>
<li><a href="#" <?php if($open_page == "Menu_2.php") echo " class= 'active' "; ?>>Menu 2</a></li>
<li><a href="#" <?php if($open_page == "Menu_3.php") echo " class= 'active' "; ?>>Menu 3</a></li>
<li><a href="#" <?php if($open_page == "Menu_4.php") echo " class= 'active' "; ?>>Menu 4</a></li>
</ul>
答案 1 :(得分:2)
与文件名相比并非最佳做法&amp;当你的项目变得沉重,难以维护
从页面和页面调用页脚传递页面标识符 -
------ Menu1_page.php --------
<?php
require_once 'footer.php';
getFooter('Menu1');
?>
在footer.php中,将页脚保持在函数
中---- footer.php -----
<?php
function getFooter($activeid){
?>
<ul>
<li><a href="#" class="<?=($activeid=='Menu1')?'active':''?>">Menu 1</a></li>
<li><a href="#" class="<?=($activeid=='Menu2')?'active':''?>">Menu 2</a></li>
......
</ul>
<?php
}
?>
答案 2 :(得分:0)
好吧,根据你浏览页面的方式,你会有类似的东西
mydomain.com\index.php?page=whereyouare
。
然后你可以访问$_GET['page']
(甚至在你的footer.php中)来确定你是在哪个页面以及if / else是否正确匹配class = active
我不会建议使用global-vars来解决这个问题。