Php 是否根据浏览器中打开的页面设置类?
我不完全确定这是否可能,但我会尽力解释我的困境 我正在开发的网站有一个标题,其中包含指向重要页面的链接。头html代码驻留在一个文件中,该文件包含在所有其他页面中(php包含) 此header.html由以下代码组成:Php 是否根据浏览器中打开的页面设置类?,php,html,Php,Html,我不完全确定这是否可能,但我会尽力解释我的困境 我正在开发的网站有一个标题,其中包含指向重要页面的链接。头html代码驻留在一个文件中,该文件包含在所有其他页面中(php包含) 此header.html由以下代码组成: <li class="m1"><a href="home.php" class="active">Home</a></li> <li class="m2"><a href="faq.php">FAQs<
<li class="m1"><a href="home.php" class="active">Home</a></li>
<li class="m2"><a href="faq.php">FAQs</a></li>
<li class="m3"><a href="">Status</a></li>
<li class="m4"><a href="">Contact Us</a></li>
当前打开的页面旨在将其类设置为“活动”,但这不起作用,因为我的头代码只驻留在一个文件中
是否有任何方法,使用php或其他东西,我可以根据打开的页面设置类“active”的适当链接
因此,如果单击FAQ,我希望代码如下所示:
<li class="m1"><a href="home.php">Home</a></li>
<li class="m2"><a href="faq.php" class="active">FAQs</a></li>
<li class="m3"><a href="">Status</a></li>
<li class="m4"><a href="">Contact Us</a></li>
是的,您可以很容易地检查您使用的是$\u服务器['PHP\u SELF']
实现这一点的一个好方法是将链接/标题存储在一个数组中,然后在它们之间循环,并在活动类等于PHP\u SELF
时回显它:
<?php
$links = array('Home' => 'home.php', 'FAQs' => 'faq.php', 'Status' => '', 'Contact Us' => '');
foreach ($links as $text => $page)
{
echo '<li><a href="'. $page .'"';
if ($_SERVER['PHP_SELF'] == $page)
{
echo ' class="active"';
}
echo '>'. $text .'<a></li>';
?>
是的,您可以很容易地检查您使用的是
$\u服务器['PHP\u SELF']
实现这一点的一个好方法是将链接/标题存储在一个数组中,然后在它们之间循环,并在活动类等于PHP\u SELF
时回显它:
<?php
$links = array('Home' => 'home.php', 'FAQs' => 'faq.php', 'Status' => '', 'Contact Us' => '');
foreach ($links as $text => $page)
{
echo '<li><a href="'. $page .'"';
if ($_SERVER['PHP_SELF'] == $page)
{
echo ' class="active"';
}
echo '>'. $text .'<a></li>';
?>
以下是您可以选择的另一条路线:
<?php
function getCurrPage() {
$org_page = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
$stripped_page = substr($org_page, 0, -4);
return $stripped_page;
}
$curPage = getCurrPage();
$actPage = array();
$actPage[$curPage] = ' class="active"';
?>
<li class="m1"><a href="home.php"<?=$actPage['home'];?>>Home</a></li>
<li class="m2"><a href="faq.php"<?=$actPage['faq'];?>>FAQs</a></li>
<li class="m3"><a href=""<?=$actPage['status'];?>>Status</a></li>
<li class="m4"><a href=""<?=$actPage['contact'];?>>Contact Us</a></li>
以下是您可以选择的另一条路线:
<?php
function getCurrPage() {
$org_page = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
$stripped_page = substr($org_page, 0, -4);
return $stripped_page;
}
$curPage = getCurrPage();
$actPage = array();
$actPage[$curPage] = ' class="active"';
?>
<li class="m1"><a href="home.php"<?=$actPage['home'];?>>Home</a></li>
<li class="m2"><a href="faq.php"<?=$actPage['faq'];?>>FAQs</a></li>
<li class="m3"><a href=""<?=$actPage['status'];?>>Status</a></li>
<li class="m4"><a href=""<?=$actPage['contact'];?>>Contact Us</a></li>
您可以使用JQuery(JavaScript)动态执行:
$(document).ready(function() {
//Add the current class to all links pointing to the current page
search = window.location.search;
$("*").find("a[href='" + search + "']").each(function(){
$(this).parent('li').addClass("active");
//add your own logic here if needed
})
})
这很有效
另一种选择是使用$\u服务器['PHP\u SELF']
或\uu文件\uuuuu
:
<li class="m1"><a href="home.php"<?php if (basename($_SERVER['PHP_SELF']) == 'home.php'): ?> class="active"<?php endif; ?>>Home</a></li>
<li class="m1"><a href="faq.php"<?php if (basename($_SERVER['PHP_SELF']) == 'faq.php'): ?> class="active"<?php endif; ?>>FAQ</a></li>
<li class="m1"><a href="status.php"<?php if (basename($_SERVER['PHP_SELF']) == 'status.php'): ?> class="active"<?php endif; ?>>Statys</a></li>
<li class="m1"><a href="contact_us.php"<?php if (basename($_SERVER['PHP_SELF']) == 'contact_us.php'): ?> class="active"<?php endif; ?>>Contact Us</a></li>
您可以使用JQuery(JavaScript)动态执行:
$(document).ready(function() {
//Add the current class to all links pointing to the current page
search = window.location.search;
$("*").find("a[href='" + search + "']").each(function(){
$(this).parent('li').addClass("active");
//add your own logic here if needed
})
})
这很有效
另一种选择是使用$\u服务器['PHP\u SELF']
或\uu文件\uuuuu
:
<li class="m1"><a href="home.php"<?php if (basename($_SERVER['PHP_SELF']) == 'home.php'): ?> class="active"<?php endif; ?>>Home</a></li>
<li class="m1"><a href="faq.php"<?php if (basename($_SERVER['PHP_SELF']) == 'faq.php'): ?> class="active"<?php endif; ?>>FAQ</a></li>
<li class="m1"><a href="status.php"<?php if (basename($_SERVER['PHP_SELF']) == 'status.php'): ?> class="active"<?php endif; ?>>Statys</a></li>
<li class="m1"><a href="contact_us.php"<?php if (basename($_SERVER['PHP_SELF']) == 'contact_us.php'): ?> class="active"<?php endif; ?>>Contact Us</a></li>
谢谢,我试试看,然后回来谢谢,我试试看,然后回来