所以我一直在我买的一本 PHP 书中做一些练习,他们建议设计一个标题并将它保存为一个单独的文档,然后当你想在你的页面中使用它时,你只需使用
<?php
require('header.html');
?>
虽然这节省了大量用于修改每个单独页面的标题的代码,但我希望为不同的页面使用不同的样式表..但我不知道如何,因为当调用 header.html 时,它会自动加载自己的样式表..
是否有类似“IF”语句我可以用来确定我可以使用哪一个?样式表规范必须在<head>
?
好吧,这是一个例子。
在index.php
(将要访问的文件)
<?php
$stylesheets = [
'/stylesheets/common.css',
'/stylesheets/themes.css',
];
?>
<html>
<head>
<?php include("head.php"); ?>
</head>
</html>
并在head.php
:
<?php foreach ($stylesheets as $stylesheet): ?>
<link rel="stylesheet" type="text/css" href="<?= $stylesheet ?>" />
<?php endforeach; ?>
输出应该是这样的:
<html>
<head>
<link rel="stylesheet" type="text/css" href="/stylesheets/common.css" />
<link rel="stylesheet" type="text/css" href="/stylesheets/themes.css" />
</head>
</html>
为什么?
因为您分配给$stylesheets
一个值数组(样式表的 URI)。当您包含文件head.php
时,该变量$stylesheets
对其可用,因为它是在包含之前声明/分配的。
head.php
然后简单地迭代这些值并将它们喷出。通过更改 的值,$stylesheets
您可以在结果页面中添加或删除样式表引用。
不过,这充满了问题;没有错误检查等,并且需要更多的工作才能在生产中可靠地使用这样的东西(或者无论如何应该需要更多的工作)
不要包含标题的那部分。这样,您还可以正确地为每个页面添加标题和关键字,即
<html>
<head>
<title Yada yada</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="author" content="">
<link href="style/customstyle.css" rel="stylesheet">
<?php require_once('header.html'); ?>
您的网站在这里
然后在你的 header.html 中完成你的标签
<link href="style/style.css" rel="stylesheet">
....
</head>
<body>
<div class....>
Your Header (topbar /menu etc..