我正在尝试在我制作的每个页面中包含一个php头文件。据我所知,这可以通过在每个文件中使用<?php include('header.php'); ?>来完成。
现在我的问题是,我有5个页面,在标题php中,我有一个nav,它链接到每个页面。当我加载头文件时,我想要更改加载头文件的链接。
例如:如果我打开主页,我希望标题中的链接是粗体的。这可能需要我发送一个变量到头文件,当我包括它或smt?如果是这样,那该怎么做呢?:D
先谢谢你,大牛!
发布于 2012-08-13 22:15:14
您可以通过在包含标头之前设置变量或通过查看URL来完成此操作。
一个简化的例子:
$page = "home";
include "header.php"在header.php中
if ($page == "home") { ... }以下代码将为您提供URL中的文件名
$basename = basename($_SERVER['REQUEST_URI']);所以如果你有http://mysite.com/index.php,它会给你index.php
你可以在你的header.php中使用类似于我上面描述的方法来决定哪个链接是加粗的。
发布于 2012-08-13 22:15:10
您可以始终使用$_SERVER['SCRIPT_NAME']来获取所请求的最外层的php文件的名称。然后,您可以相应地更改导航中的链接样式,即:
<a href="some.php" style="font-weight: <?= $_SERVER["SCRIPT_NAME"] == '/some.php' ? 'bold' : 'normal' ?>">Link to Some</a>
<a href="other.php" style="font-weight: <?= $_SERVER["SCRIPT_NAME"] == '/other.php' ? 'bold' : 'normal' ?>">Link to Other</a>发布于 2012-08-13 22:21:21
在下面的代码中,您可以将此类调用到其他页面,并将页面名称作为参数传递,并且可以非常轻松地使用该参数调用jQuery函数
<?php
class header {
function __construct($title = "Home", $page = 'home') {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $title; ?></title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<script>
$(document).ready(function(){
$('.<?php echo $page ?>').addClass('active');
});
</script>
</head>
<body>
<ul class="nav">
<li class="home"><a href="index.php"><br />HOME<br /></a></li>
<li class="about"><br />ABOUT US<br /></li>
</ul>
<?php }} ?>https://stackoverflow.com/questions/11936064
复制相似问题