- ベストアンサー
メニューについて
こんにちは。私の少ない知識&経験では分からないので、教えてください。(質問が) webサイトのメニューですが、1ページごとの設定ではなく、フレームのように全てのページに一括でメニュー設定する方法ってありますでしょうか? つまりメニューのリンク先が変更になった場合、フレームだと、1ページのUPだけで済みますが、フレームでない場合、メニューを設定している全てのページのUPをしないといけなくなります。 これを、メニュー設定ページだけの修正・更新で済むようにすることは可能なのでしょうか? 会社のホームページを作成しており、社長から「メンテナンスが楽になるよう、CSSだけの変更で済むよう作成出来ないのか」と指示されました。 私の少ない知識では、CSSはデザインなので、メニューのリンク設定は無理だと思うのですが…。 ページ数が多いサイトなどは、どのように管理されているのでしょうか? 方法があれば教えていただけませんか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
皆さんの回答にあるPHP、SSI、Javascript、 他にもXoopsを導入などいろいろな手段があります。 ただJavascript以外は、たいてい環境(サーバの設定)を 変更する必要があるので敷居が高いです。 質問者さんのレベル次第ですが、サーバをいじれるので あればPHPを勉強されることを勧めします。 で、PHPは厳しいのであれば、Javascrip案が良いかと思います。 で、もうひとつ別の方法をひとつご紹介します。 サーバには変更をかけないで、自分のパソコンで メニューファイルと本文ファイルをくっつける方法です。 で、結合したファイルをサーバにアップするという手順です。 #Windowsでの方法です。 まずファイルを分割して用意します。 「header.txt」「menu.txt」「main03.txt」「footer.txt」 そしてもうひとつ 「Merge.txt」、この5ファイルを同じフォルダに入れます。 Merge.txtの中身はこう書きます。 @echo off copy header.txt+menu.txt+main03.txt+footer.txt main03.htm copy header.txt+menu.txt+main04.txt+footer.txt main04.htm :end で出来上がったら、「Merge.txt」を「Merge.bat」にファイル名を 変更します。 で、このファイルを実行(クリック)すると 4つのファイルが結合された「main03.htm」が完成します。 同様に copy … を2行、3行と増やしていくと 「main01.txt」・・・「main30」などと増やせます。 このMergeをクリックするだけで ファイルを更新することができます。 #この方法もめんどくさいといえばめんどくさいですが;
その他の回答 (4)
- shizuku
- ベストアンサー率33% (25/74)
私も今、まったく同じことで悩んでいました。 詳しい友人はphpがいいというのですが、調べてみてもphpはまったくわかりませんでした。 そこで#2さんの回答を元にネットで探していたら、これならよく読めばできそう、と思いましたので参考URLを紹介しておきます。
お礼
shizuku様、確かにこれなら出来そうです。 なんせ、プログラミングは全くの未経験ですから助かります。 この機会にJavascriptとPHPは勉強します。 ありがとうございました。 shizuku様はDreamweaverをお使いですか?実はCSS NITEから出ている「Dreamweaverプロフェッショナル・スタイル」の本にPHPのプログラム「共通のページを差し込む方法」というのが掲載されているのを見つけました。ただ、知識がなく試してもいないので、詳しくは分かりませんが、お知らせまで。
- key-child
- ベストアンサー率54% (25/46)
> 会社のホームページを作成しており 一般公開するものなら、javascriptが使えない環境も考慮してjavascriptはやめた方がいいでしょう。 やるのならサーバ側で、PHPやPerl、SSI等、これらは全てサーバで使用できる環境が必要です。 全てのページに同じメニューを付けるのはやめた方がいいでしょう。 下記参考にすれば全ページ変更が必要なことはなくなると思われます。 Alertbox ナビゲーションは役に立つのか? http://www.usability.gr.jp/alertbox/20000109.html Alertbox 守られていないホームページのガイドライン・ベスト10 http://www.usability.gr.jp/alertbox/20031110.html (『10. ホームページにはホームページへのリンクを入れない』の部分) Alertbox パンくずナビゲーションの有用性が上昇中 http://www.usability.gr.jp/alertbox/20070410_breadcrumbs.html
お礼
色々なアドバイス有難うございました。 今後サイト構築をしていくのに、とても参考になりました。 デザインを再検討してみます。
- kancil
- ベストアンサー率27% (26/95)
CSSでは無理ですね。 No1さんの言うようにPHPでもできますが、 javascriptでも可能ですよ。 メニュー部分をjavascriptの外部ファイルで作成しておいて 全てのページからはこの外部ファイルを読み込むかんじです。 この外部ファイルひとつを変更するだけで、全てのページに反映されます。実際に私はこの方法でサイト構築したことがあります。
お礼
やはりCSSでは無理ですよね!確認できて良かったです。 javascriptという手もあるとは驚きです。 ただ私はHTMLとCSSしか勉強していないので、実際の記述など、この機会に勉強してみます。 ご回答有難うございました。
- shpxr
- ベストアンサー率46% (99/214)
メニューページを別のファイルで作っておいて、PHPのrequire()文でそのファイルを読み込む方法があるようです。自分で構築したサイトではないので詳しい記述方などは分からないのですが、会社のHPの更新作業をしていたらそういうソースを見つけました。 メニューページが独立しているので、ひとつファイルを直すだけで非常に楽でした。
お礼
早々のご回答、有難うございます。 PHPは、勉強したことがないのですが、楽に更新が出来るのですね! PHPのrequire()文を調べてみます。
お礼
本当に色々なやり方があるのですね。 レベルは、とても低く、サーバーは全くいじれません。 Javascriptだとユーザー側の環環境、PHPなどはサーバーの環境…と悩みどころです。 grkt3様に教えていただいた方法を試してみます。 他の作業者とも相談して、Javascrip案でいくか検討してみます。 有難うございました。