我正在建立一个网站。
我建立了一个网站。对于每个页面,页眉和页脚都包含在 php 包含中。过去,在我决定使用 insert 之前,我只会添加 class='current'
.但是,由于它是一个包含,我不能这样做,因为所有页面都使用相同的代码,例如,如果我将当前类放在主页链接上,那么即使您在"关于我们"页面上,主页链接也将具有当前类。我该如何克服这个问题?
header.php
文件中添加一个函数来检查哪个页面是当前页面,并且然后,更新您的menu code
,使其具有如下条件:
<a href='?page=about' <?php if($current_page == 'about') echo "class='current'"; ?>>About</a>
这里有一种方法可以做到这一点:
每页:
$current_page_id = 'about';
include "nav.php";
包含文件:
$nav_items = array(
'home' => array(
'href' => "/",
'label' => "Home Page"
),
// home
'about' => array(
'href' => "/about",
'label' => "About"
),
// about
...
);
// $nav_items
?>
<ul>
<?php
foreach ( $nav_items as $nav_id => $nav_item ) {
$nav_item[ 'class' ] = $nav_id === $current_page_id ? 'active' : '';
echo <<<DOCHERE
<li>
<a class="{$nav_item[ 'class' ]}" href="{$nav_item[ 'href' ]}">{$nav_item[ 'label' ]}</a>
</li>
DOCHERE;
?>
</ul>
作为替代方案,您也可以为您的身体提供一个 id,在页面上表明您是。像这样:
<body id="home-page">
...
<ul id="nav">
<li id="home-button">home</li>
<li id="about-button">about us</li>
...
</ul>
...
然后在你的 css 中你可以做这样的事情
#nav li {
/* the default styling */
}
#home-page #home-button, about-page #about-button, ... {
/* the 'active' styling */
}
很多可能性!