gpt4 book ai didi

PHP 为每个页面技术包含导航栏?

转载 作者:太空狗 更新时间:2023-10-29 15:54:24 25 4
gpt4 key购买 nike

我正在尝试通过包含文件来合并每个页面的代码来清理我的 php 网页中的代码,如下所示:

文件:head.php

<!DOCTYPE html>
<html>
<head>
<title> *Dynamic Page Title* </title>
<meta name"description" "Dynamic Description">
<link href="#">
</head>

文件:footer.php

<footer>
<ul>
<a href="#"><li>Home</li></a>
<a href="#"><li>Page 1</li></a>
<a href="#"><li>Page 2</li></a>
</ul>
</footer>
<script src="#">
</body>
</html>

文件:navbar.php

<header class="navbar navbar-default navbar-static-top">
<div class="container-fluid">
<div class="navbar-header">
<a href="#" class="navbar-brand"></a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"><i class="fa fa-bars"></i></button>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="index">Home</a></li>
<li><a href="#">Page 1</a></li>
<li><a href="#">Page 2</a></li>
<li><a href="#">FAQ</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</div>
</div>
</header>

文件:index.php

<?php include('head.php'); ?>
<?php include('nav-bar.php'); ?>
<body>
Index Page, Home has an active class
<?php include('footer.php'); ?>

文件:Page-1.php

<?php include('head.php'); ?>
<?php include('nav-bar.php'); ?>
<body>
Index Page, Page 1 in nav-bar has an active class
<?php include('footer.php'); ?>

你们明白了主要思想。我想了解如何在导航栏的不同页面中添加事件类,以及如何为每个页面添加不同的标题和元标记。

有什么帮助吗?

最佳答案

您可以在文件中定义变量:

index.php:

<?php $title = 'Home'; ?>
<?php $metaTags = 'tag1 tag2'; ?>
<?php $currentPage = 'index'; ?>
<?php require_once(__DIR__.'/head.php'); ?>
<?php require_once(__DIR__.'/php'); ?>
<body>
<h1>Index Page, Home has an active class</h1>
<?php require_once(__DIR__.'/footer.php'); ?>
</body>

然后在包含文件中使用这些变量:

head.php:

<!DOCTYPE html>
<html>
<head>
<title><?php echo($title); ?></title>
<meta name"description" "<?php echo($metaTags); ?>"><!-- note that this code is wrong -->
<link href="#">
</head>

navbar.php:

<header class="navbar navbar-default navbar-static-top">
<div class="container-fluid">
<div class="navbar-header">
<a href="#" class="navbar-brand"></a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"><i class="fa fa-bars"></i></button>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li <?php if ($currentPage === 'Home') {echo 'class="active"';} ?>><a href="index">Home</a></li>
<li><a href="#">Page 1</a></li>
<li><a href="#">Page 2</a></li>
<li><a href="#">FAQ</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</div>
</div>
</header>

在这最后一部分,使用数组比为每一行重复相同的代码更容易:

<ul class="nav navbar-nav navbar-right">
<?php
// Define each name associated with an URL
$urls = array(
'Home' => '/',
'Page 1' => '/page1',
// …
);

foreach ($urls as $name => $url) {
print '<li '.(($currentPage === $name) ? ' class="active" ': '').
'><a href="'.$url.'">'.$name.'</a></li>';
}
?>
</ul>

现在您可以复制粘贴 index.php 作为一个新文件,并添加到您的导航栏,每个页面上都会添加一个链接。

关于PHP 为每个页面技术包含导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35460276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com