Я конвертирую пару сайтов из HTML в PHP для динамических элементов и смог сделать это с помощью верхнего и нижнего колонтитула (используя php include ()). Тем не менее, я запутался в том, как сделать заголовок раздела. Вот что я имею с простым HTML:
<head>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js">
</script>
<![endif]-->
<meta charset="UTF-8" />
<meta name="description" content="Liberty Resource Directory. The ultimate curated directory to find what you need."/>
<meta name="keywords" content="ethan glover, lrd, liberty resource directory"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link href="stylesheets/lrdstylesheet.css" rel="stylesheet" media="screen">
<title>Liberty Resource Directory</title>
</head>
Я могу легко добавить скрипт HTML5Shim, мета-кодировку, область просмотра (да, я удалю этот максимальный масштаб) и ссылку на таблицу стилей.
Вот проблема:
Как я могу написать .php файл так, чтобы я мог передать описание отдельных страниц, ключевые слова и заголовок к нему? (Таким образом, я могу поместить весь приведенный выше код в файл php и просто включить его на каждой странице.)
Или мне просто придется исключить описание, ключевые слова и заголовок и каждый раз переписывать эти части?
Вот ответ: (Предоставлено Алехандро Арбизой)
head.php
<head>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js">
</script>
<![endif]-->
<meta charset="UTF-8" />
<meta name="description" content="<?php echo $description;?>"/>
<meta name="keywords" content="<?php echo $keywords;?>"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../stylesheets/lrdstylesheet.css" rel="stylesheet" media="screen">
<title><?php echo $title;?></title>
</head>
index.html (чтобы включить код выше)
<?php
$description="Liberty Resource Directory. The ultimate curated directory to find what you need.";
$keywords="ethan glover, lrd, liberty resource directory";
$title="Liberty Resource Directory";
include 'scripts/head.php';
?>
Конечный результат:
Вы можете использовать переменные для описания и ключевые слова (или все, что вы хотите по этому вопросу). Затем, когда придет время создавать страницу, вы просто установите переменные с соответствующими значениями.
<head>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js">
</script>
<![endif]-->
<meta charset="UTF-8" />
<meta name="description" content="<?php echo $description; ?>"/>
<meta name="keywords" content="<?php echo $keywords; ?>"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link href="stylesheets/lrdstylesheet.css" rel="stylesheet" media="screen">
<title>Liberty Resource Directory</title>
</head>
Итак, допустим, у вас есть page1.php и page2.php:
<?php
// page1.php
$description = "This is page one";
$keywords = "page one";
include 'header.php';
?>
<!-- Page content -->
<?php include 'footer.php'; ?>
а также
<?php
// page2.php
$description = "This is page two";
$keywords = "page two";
include 'header.php';
?>
<!-- Page content -->
<?php include 'footer.php'; ?>
Конечно, я предполагаю, что весь заголовок HTML находится внутри header.php
файл, в том числе <html>
, <head>
а также <body>
,
Других решений пока нет …