我尝试了几种不同的方法在我的导航中添加一类电流。
我在http://alistapart.com/article/keepingcurrent
上阅读了一篇关于这样做的文章到目前为止,我没有运气将任何方式纳入我的网站。
我觉得我错过了什么。
我使用名为nav.php的包含文件将导航导入网站:
<div id="nav">
<div id="nav-container">
<ul id="nav-content" class="top menu">
<li<?php if ($thisPage=="home")
echo " id=\"currentpage\""; ?>>
<a href="/index2013.php">Home</a></li>
<li<?php if ($thisPage=="portfolio")
echo " id=\"currentpage\""; ?>>
<a href="/design/designsystems/unitedway/unitedway.php">Portfolio</a></li>
<li<?php if ($thisPage=="services")
echo " id=\"currentpage\""; ?>>
<a href="/services/services.php">Services</a></li>
<li<?php if ($thisPage=="resources")
echo " id=\"currentpage\""; ?>>
<a href="/resources/resources.php">Resources</a></li>
<li<?php if ($thisPage=="blog")
echo " id=\"currentpage\""; ?>>
<a href="http://kristinemorical.com/wordpress/kristine-blog/">Blog</a></li>
<li<?php if ($thisPage=="contact")
echo " id=\"currentpage\""; ?>>
<a href="/contactinfo/contact.php">Contact</a></li>
</ul>
</div>
</div>
这就是我在索引页面中的内容:
<?php $thisPage="home"; ?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Kristine Morical : Home</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<meta name="author" content="Kristine Morical" />
<?php include('http://www.kristinemorical.com/includes/head.php'); ?>
</head>
<body id="body">
<?php include('http://www.kristinemorical.com/includes/header.php'); ?>
<?php include('http://www.kristinemorical.com/includes/nav.php'); ?>
<div id="outer" class="clearfix">
<div id="sidebar-wrapper">
<?php //include('http://www.kristinemorical.com/includes/sidebar.php'); ?>
</div>
<div id="content" role="main">
</div> <!-- end #main -->
</div> <!-- end #outer -->
<?php include('http://www.kristinemorical.com/includes/footer.php'); ?>
</body>
</html>
我不确定我做错了什么。
答案 0 :(得分:0)
首先,您可以使用ternary条件来获得更干净的代码,其次,使用css class
来更轻松地设置样式(如果添加其他导航元素,则允许使用多个):
<li<?= ($thisPage=="services" ? ' class="currentPage"' : '') ?>>
<a href="/services/services.php">Services</a>
</li>
总是设置$thisPage
也会变得乏味,所以你可以更进一步让PHP尝试根据当前的请求uri找出它。
如果您遇到问题,那么班级永远不会打印,那么请var_dump
或$thisPage
上的某个内容确保其设置正确。
答案 1 :(得分:0)
试试这个:
<div id="nav">
<div id="nav-container">
<ul id="nav-content" class="top menu">
<?php if ($thisPage=="home") echo "<li id=\"currentpage\">"; else echo "<li>";?>
<a href="/index2013.php">Home</a></li>
<?php if ($thisPage=="portfolio") echo "<li id=\"currentpage\">"; else echo "<li>";?>
<a href="/design/designsystems/unitedway/unitedway.php">Portfolio</a></li>
<?php if ($thisPage=="services") echo "<li id=\"currentpage\">"; else echo "<li>";?>
<a href="/services/services.php">Services</a></li>
<?php if ($thisPage=="resources") echo "<li id=\"currentpage\">"; else echo "<li>";?>
<a href="/resources/resources.php">Resources</a></li>
<?php if ($thisPage=="blog") echo "<li id=\"currentpage\">"; else echo "<li>";?>
<a href="http://kristinemorical.com/wordpress/kristine-blog/">Blog</a></li>
<?php if ($thisPage=="contact") echo "<li id=\"currentpage\">"; else echo "<li>";?>
<a href="/contactinfo/contact.php">Contact</a></li>
</ul>
</div>
</div>
如果你使用的是ID标签,但是如果你真的想使用一个类,那么你应该使用类标签。这取决于您在网页的头标记或css文件中声明类的方式。如果您使用#符号声明该类,则上述代码将起作用,但这不是最佳实践。您可能希望使用句点符号声明该类,然后在您的网页中使用类标记。