- ベストアンサー
WordPressと同様にHTMLをまとめる方法はあるか
- WordPressでのウェブサイト構築では、header.phpやfooter.phpなどの共通部分をインクルードタグでまとめることができますが、通常のウェブサイト作成ではPHPなどで共通部分をまとめることができません。
- Dreamweaverを使用している場合でも、共通部分を手動で更新する必要があります。しかし、50ページ近くある場合は非効率的で時間がかかるため、他の方法を探しています。
- 初心者のため、他の方法についてアドバイスをいただけますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 回答の補足の意味がよくわからないのですが、bodyやmetaも外部ファイルに置いて一元管理したいということでしょうか。 目的が単に管理しやすければいいのか、見た目・・・(phpをhtmlに変えているところから、単にまとめればいいというわけでもない??)も必要なのかなどで対応が変わってくると思うのですが、 1)ページはすべてpage.html(中身はphp)にして、クエリで該当部分を変える それこそwordpressみたいな感じです。 【page.html】 <?php include_once('data.php'); ?> <html> <head> <meta name="description" content="<?php echo $meta_description; ?>"> <meta name="keyword" content="<?php echo $meta_keyword; ?>"> <title><?php echo $title; ?></title> </head> <body> <?php echo $body; ?> </body> </html> 【data.php】 if($_GET["p"]==1){ $meta_keyword="キーワード,HTML"; $meta_description="ここはDescription"; $title="ページ1のタイトル"; $body=' <h1>見出し1</h1> <p>本文</p> '; }else if($_GET[p]==2){ $meta_keyword="キーワード2,HTML"; $meta_description="ここはDescription"; $title="ページ2のタイトル"; $body=' <h1>見出し1</h1> <p>本文</p> '; } ・ ・ ・ で、page.html?p=1にアクセスすると該当部分が表示される・・・という仕組み 2)あんまりやらないかもしれませんが、1)ではクエリが見えてしまうので企業ページなどでふさわしくない、というのであれば、 各ページを上記page.htmlのような作りにして(ただし、各ページファイル名は変える)、自分自身のファイル名を見て内容を変えるという手も。 【data.php】 if($_SERVER['PHP_SELF']=="page.html"){ $meta_keyword="キーワード,HTML"; $meta_description="ここはDescription"; $title="ページ1のタイトル"; $body=' <h1>見出し1</h1> <p>本文</p> '; }else if($_SERVER['PHP_SELF']=="page2.html"){ $meta_keyword="キーワード2,HTML"; $meta_description="ここはDescription"; $title="ページ2のタイトル"; $body=' <h1>見出し1</h1> <p>本文</p> '; } こんなところでどうでしょうか。 ※ちなみに上記スクリプトは試していませんので正常に動作しないかもしれません。 最近phpは書いてないので・・・間違ってたらスイマセン。
その他の回答 (2)
- umioyo
- ベストアンサー率66% (35/53)
もちろん可能です。ただ、#1さんも書かれてますが、拡張子がphpになって美しくないので、トップディレクトリに.htaccessを置いて AddType application/x-httpd-php .php .html と書いておくと拡張子は.htmlでphpをインクルードすることができます。
- koutsuuseiri
- ベストアンサー率78% (30/38)
こんにちは。 自分はphp学習中で、かえって、wordpressはわかりませんが、phpが作動するサーバーであれば共通のものを作れます。 1:phpを使うので、拡張子は、phpに変更する。 2:共通の部分を切り出しただけのファイルを用意する。ファイルの拡張子は、php 3:共通の部分を呼び出したいファイルに、呼び出したい場所で以下のように記述。 <?php require_once("パスの指定"); ?> 指定は、相対指定でOK。 これで呼び出すことは可能です。 私も学習用のwebサイトを作っていますが、共通項はこれでまとめています。 なお、実際にファイルが呼び出されてうまく表示ができたかを確認するには、phpを使うのでサーバーで運用する必要があります。XAMPPなどで試すか、契約しているサーバーにテストファイルをアップするかなどでお確かめ下さい。 お役に立てれば、幸いです。
補足
ありがとうございます。大変参考になりました。まとめることは解決したのですが、ページごとにタイトルや読み込むjsが違う箇所はどのように記述すればよろしいでしょうか。 <head> <body> <foot> があるとして、bodyだけ内容が違えばいいのですが、metaタグなど中途半端な箇所を変えたいので、headだけでくくることはできません。 個別にページごとに読み込むことはできないでしょうか。
補足
ありがとうございます。大変参考になりました。httaccessで.phpも表示しないようにしました。 下記の方にも質問したのですが、ページごとにタイトルや読み込むjsが違う箇所はどのように記述すればよろしいでしょうか。 <head> <body> <foot> があるとして、bodyだけ内容が違えばいいのですが、metaタグなど中途半端な箇所を変えたいので、headだけでくくることはできません。 個別にページごとに読み込むことはできないでしょうか。