WEBページの共通化

ホームページを作っていると、同じ形式のページを何枚も作ることがある。 そういったときに共通部分をテンプレートのようにしたい場合の方法を見つけたのでまとめてみた。




単純なインクルード化


例えばフッターを用意して毎ページで呼び出すような場合、includeが使えるらしい。 このとき呼び出す側、呼び出される側はどちらも.phpが良いらしい。

フッター例(呼び出される側) footer.php:

<footer>
<hr class="hr_double">
<div class="div_footer">
  <span class="link_space"><a href="#top">ページトップに戻る</a></span>
  <span class="link_space"><a href="/Home">目次ページに戻る</a></span>
  <span class="link_space"><a href="/">Topに戻る</a></span>
  <a href="/Home/Inquiries.html">お問い合わせ</a>
</div>
</footer>
</body>
</html>

本文例(呼び出す側) page1.php:

<!DOCTYPE html>
<html xml:lang="ja" lang="ja">
(中略)
<?php include("footer.phpのパス"); ?>

変数の利用


例えばヘッダーを用意して毎ページで呼び出すが、 タイトル等は変えたいときに変数に一回入れて表示させることができる。

ヘッダー例(呼び出される側) header.php:

<!DOCTYPE html>
<html xml:lang="ja" lang="ja">
<head>
  <meta charset="utf-8">
  <meta name="keywords" content="<?php echo $keywords ?>">
  <meta name="description" content="<?php echo $description ?>">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <title><?php echo $title; ?></title>
</head>

本文例(呼び出す側) page2.php:

<?php
$title='ページのタイトル';
$keywords='検索用のキーワード';
$description='ページの説明';
include("header.phpのパス");
?>
<body>
(中略)
</body>
</html>