• ベストアンサー

【HP作成】全ページに同じ文字を表示させる方

HP作成で、全てのページにメニューを載せたいのですが、 それだと、ページ数が多くなれば、ページを増やす度に、 全てのページを編集しなおさないと行けないと思います。 何か、一つのページを書き換えるだけで、 全てのページに反映させる方法って無いでしょうか? (作成ソフトは使っておらず、テンプレートを使い、 ソースを書き換えて作成しています。) 自分なりに、調べると、「document.write」というのがあるらしいのですが、 最新のHTMLでは推奨されていないようなので、 何かいい方法は無いかと探している状態です。 お詳しい方、お知恵を貸してください! よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

最も簡単なのは、ご利用のサーバーでSSI(Server Side Include)です。 HTMLに <!--#include file="nav.txt" --> や <!--#include virtual="/ssi/nav.txt" --> と記入して、外部ファイルを埋め込んでしまう方法です。 file= は、自身がある場所かそれより下位のファイル。virtual=はパスでかけますから、どこにでも置けます。(ルートからのパスで書いておくとHTMLがどこにあってもよい) またPHPを使う方法もあります。 <?php include_once("./nav.txt");?> など・・ ・SSIは拡張子.shtml、PHPは.phpになりますが、これは.htmlに変更も出来ます。   htmlに変更されている場合、ユーザーには仕組みはわかりません。 ・いずれも、ローカルでテストは出来ませんが、  ローカルにHTTPサーバー/PHPをインストールすれば、サーバーにアップする前にテストできます。 ※ページ自体がCMS(コンテンツマネージメントシステム)を利用して作成される場合は、もちろんテンプレートになります。  ローカルにテスト環境がない場合は、高機能なテキストエディタで置換することが出来ます。たとえばEmEditorでしたら、正規表現を使用してファイルを開くことなくすべてのファイルの指定位置をかきかえることができます。 (<!-- navi start -->\n).*(\n<!-- navi end -->) ↓置換 \1 <div class="section"> <ol> <li><a href=""></a></li> 略 </ol> \2 とか・・・

toppy22
質問者

お礼

意外に簡単そうですね! ありがとうございます^^

関連するQ&A

  • (HP作成)テンプレートを変更すると起きること

    HPをDreamweaverで作成しています。 詳しい方、わからないところがあって困っています。教えてください。 まず、HPの元のデザインとなるテンプレートを作りました。 そのテンプレートには、左側のテーブルにメニュー(Flashで作成したもの)を配置し、 右側のテーブルを編集可能領域としました。 このテンプレートを使ってHPのページすべてを作っています。 先ほど、修正の必要に気づき、テンプレートに一旦戻ってメニューの位置を テーブルの中央→上付きになるように修正しました。 そしてこれを保存するときに「このテンプレートを使用しているページ全てに反映させるか」 みたいな質問が出て、「させる」を選んだのですが、その後に各々のページに戻って ブラウザでプレビューしてみると、このメニューがページから消えてしまうのです。 DWの編集上には、修正したものが反映されているのに、 プレビューするとこのflash作成メニューのみが消えてしまう(出てこない)のです。 これはなぜなのでしょうか? ちょっと言葉の説明だけではわかりにくいかもしれませんが、 考えられる理由があれば教えてください。 わからなければ全部作り直しになってしまいます。 必要なことがあれば補足もしますので、よろしくお願いします。

  • Movable Typeにて、新規作成したHTMLページのRSS連携について。

    Movable Typeにて「新規テンプレート作成」からHTMLページを作成したのですが、RSSに反映されません。新規エントリーしたページは反映されるのですが、どのようにすれば連携できるのかが分かりません。 新規テンプレート ページを作成した場合もRSSに反映する方法をどなたかご教授ください。

  • CSSでHP作成したい。メニューコンテンツはどのように作ったらいいですか?

    CSSでHP作成したい。メニューコンテンツはどのように作ったらいいですか? こんにちは。 今まで、ホームページビルダーを使って、HTMLでウェブページを作ってきました。 左カラムをメニュー部分として、インラインフレームで作成していました。 この度、SEO対策から、 CSSを使ったテンプレートに代えて作り変えようと思っています。 でも、いまいちよくわからないのですが、 スタイルシートで左カラム(メニュー)を書くとなると、 全てのページを作った後にリンクを貼って、 そのメニュー部分をすべてのページにまた複製しないとならないですよね?? 私のウェブサイトは、100ページ弱あるので、 なかなか考えただけで大変そうです。。。 スタイルシートで、2カラム形式左メニューのページを作成したことのある方、 もし良かったら方法を教えて下さい。 ※ちなみに、ブログは自己カスタマイズが大変なので利用しない方向です。 FC2で持っていますが、やっぱりHTMLの方が使いやすいので・・・

    • ベストアンサー
    • SEO
  • どのページにも同じメニューを表示させる方法を教えてください

    ホームページビルダー10を使ってネットショップのホームページを作り始めました。 レイアウト枠と表を使用して画面の上と下の部分と 左側にメニューなどを作成したのですが、 これをどのページにも表示させるには、 どのような機能を使えばいいでしょうか。 ユーザーテンプレートというのに登録して そのユーザーテンプレートを各ページを作成す時に 使用しようとしたのですが、 この場合、もしユーザーテンプレートの内容が変わった時 (メニュー項目がひとつ増えた等・・)、 既に作成したページにその内容の変化は反映されないように思われます。 どのネットショップのHPを見ても、 だいたい上と下、左側のメニューはどのページにも 同じ内容が表示されるようになっていますが、 これはどのような作成方法を作るのでしょうか。 ひとつSSIという方法を教わったので、 これはこれから試してみようと思っています。 これが基本的な方法なのでしょうか? 詳しい方ぜひ教えてください。 本もだいぶ買い込みましたが参考になる内容が 見つかりませんでした。 どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • phpの記述とHP作成ソフトの連携について

    OSはwindows xp proを使用しております。golive csを使ってHPを作成しています。 拡張子をphpに変えてHPの作成を始めました。 でテンプレートファイルにphpのプログラムを<HTML>よりも前の部分に記述し、テンプレートを元に作成した全てのファイルに反映させようとしたみたのですが記述したphpの記述が全て消えて各ファイルに反映されません。 ページが多いためにそれぞれにphpプログラムを記述するとなるとあまりにも非効率的ですのでうまくいく方法はないものでしょうか? HP作成ソフトの機能の限界で行えないようでしたらそれを実現できる違うソフトがあるなどの情報を提供していただけましたら幸いです。

    • 締切済み
    • PHP
  • メモ帳を使ってのHP作成

    ホームページ作成について、私はメモ帳を使って作成しようと思っているのですが、 最初メモ帳にHTMLタグなどを記入して「index.html」などの名前をつけて保存し、もう1度そのファイルを編集しようとするとワードの画面になってしまいます。 ちなみにそのファイルを開くと、インターネットに繋がって、ページからソースをいじろうとしてもいじれませんでした。 メモ帳でHTMLタグなどを再編集することはできないのでしょうか?

  • ブラウザいっぱいに表示されるページが作成できません。

    ブラウザいっぱいに表示されるページを作成しようとしているのですが、上手くいきません。 3カラムのサイトで、左側メニュー、真ん中コンテンツ、右側メニューという感じにしようと思っています。 ブラウザのサイズに合わせて真ん中のコンテンツだけが伸び縮みするようにし、左側メニュー、右側メニューは固定したいと思っています。 イメージとしてはGIGAZINEのような感じです。 http://gigazine.net/ ―HTMLソース <div id="contents"> contents </div> <div id="right"> right menu </div> <div id="left"> left menu </div> ―CSS #contents { float: right; } #right { float: right; } #left { float: left; } しかし、真ん中コンテンツは最小サイズは指定しても、最大サイズを指定することができないので、長い文章を書くとその分だけ広がってしまい、結果的に他のメニューが回り込みできなくなって下に移動してしまいます。 position:absolute;を使えば、好きな場所に配置することができるので、これを実現できるのですが、個人的にposition:absolute;はあまり良くないと聞いたことがあります。実際はどうなのでしょうか? また、GIGAZINEのソースを見ていると、position:absolute;ではなく、position:relative;で相対的に配置しております。 今まで横幅が固定されたサイトしか作ってこなかったので、少し難しいです。アドバイスをお願いします。

  • スタイルシートを使用したホームページの作成について

    教えて下さい。ホームページビルダー7を使用して、現在HPを作成しているのですが、スタイルシートを使って、同じレイアウトのページを作成したいと思っています。イメージとしては、ページ上部にタイトル、左側にメニューバーと考えているのですが、これをテンプレートとして保存して、各ページを作成しているのですが、この方法だと、メニューに1つコンテンツを増やしたりすると、すべてのページに1つずつコンテンツをつけてしていかなければいけません。今後の事を考えれば、コンテンツが増えていくと考えられますので、外部スタイルシート(css?)を使用して、そこを変更すれば全ページのメニューに反映されるような方法をとりたいと思います。 フレームを使用すればそれは簡単ですが、HPにフレームはいろいろな弊害があるので、やめたいと思います。フレーム以外でそれと同じような方法があればよろしくお願いします。 私のホームページの知識は、ビルダーで作成して、HTMLをちょこちょこと変更するぐらいなので、専門的に勉強していません。大体の意味がわかるのですが…。 どうぞよろしくお願いします。

  • 携帯用HP作成のことで教えて下さい

    追加してメニューを増やしたいのですがわかりますか? FFFTPの方で新規作成をクリックしたらファイルフォルダが作成されてしまいます HTMLドキュメントを作りたいのです

  • HP上でのメニューボタン作成について

    ホームページを作成しています。 作成中に疑問に思ったことがあります。 全ページにメニュー(図クリックでリンクに飛ぶもの)をつけたいのですが、メニュー表示のHTMLを全ページで共有(1つで管理)することはできませんか? メニューに変更があるごとに全ページ修正するのはさすがにどうかと思うので。 CSSの使い方次第できるのでは・・・と思っているのですが。 (でも、メニューとページが別れて表示される方法は避けたいです。)