0

我正在建立一个网站。

我已经建立了一个网站。对于每个页面,页眉和页脚都作为 php 包含包含在内。过去,在我决定使用 insert 之前,我会简单地添加class='current'. 但是,作为一个包含,我不能这样做,因为所有页面都使用相同的代码,例如,如果我将当前课程放在主页链接上,那么即使您在关于我们页面上,主页链接也将具有当前班级。我该如何克服呢?

4

3 回答 3

0

在您的header.php文件中添加一个函数来检查哪个页面是当前页面,然后更新您的menu code,使其具有如下条件:

<a href='?page=about' <?php if($current_page == 'about') echo "class='current'"; ?>>About</a>
于 2012-08-19T13:37:20.383 回答
0

这是您可以解决的一种方法:

每页:

$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>
于 2012-08-19T13:39:54.137 回答
0

作为替代方案,您还可以为您的身体提供一个 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 */
}

很多可能性!

于 2012-08-19T13:54:44.087 回答