2009-09-04 6 views
3

大きなサイトでは、フッター、メニューなどを分けて、そのファイルを更新すると、項目。小さなHTMLベースのサイトに共通の要素を追加/更新する最も良い方法

純粋にHTML/CSSで作成された小さなサイトでも同じことをお勧めしますか、各ページのメニューをコード化して変更が必要なときに各ページを更新するのは簡単/簡単/標準ですか?

私は必ずしもこのウェブサイトにPHPなどを持ち込むことは望んでいませんが、メニューの更新の容易さはいいと思います。その他の提案はありますか?私はServer Side Includesが一つの選択肢かもしれないと聞いてきました...それは "純粋なhtml"と考えられているのですか、それともサーバに設定する必要がありますか?

ありがとうございます!

答えて

6

1つのページで構成されているサイトがない場合は、自分自身に好意を持ち、ヘッダー/フッター/その他の繰り返し要素を含む別々のファイルを作成します。

あなたはただ一つの変更とその完了をするだけです。どのように細心の注意を払っても、あなたは必然的に更新のどこかのページを忘れてしまいます。それは人間のものです。

「ちょうど」のHTMLで、サーバー側の言語を使用していない場合は、サーバー側のインクルードを使用することになります。 SSIを通常の* .htm/*。htmlファイルで処理するかどうか、または* .shtm/*。shtml拡張子を使用する必要があるかどうかをホストに確認してください。

+0

+1は必然的にあなたが当初考えていたよりも複雑になります。 – Shizzmo

0

この問題にアプローチするにはさまざまな方法がありますが、最終的には自分の側で変更を加え、それらが多くのページに反映されるようにするには、何らかのサーバー側処理、これはPHPやJSP、あるいはそれらの行に沿ったものを意味するか、サイトが生成される何らかの処理を静的に行う必要がありますが、最終的にはそれが同等のコンパイル時の解決策になります他のサーバー側のアプローチに

Java/JSPでの作業が快適であれば、単純なJSPの組み込みが必要なすべてを行う可能性があります。彼らがしなければ、完全に吹き飛ばされたPortlets APIアプリケーションに行くことができます。私は他の言語も同様に有効なアプローチを持っていると確信しています。最終的には、あなたが最も快適なものを決めることになります。

2

サーバサイドインクルードはhtmlではありませんが、実際にはコーディングされていません。 PHPやその他のコーディングソリューションを必要としない場合は、おそらくあなたの最善の選択です。

これは主に、使用しているウェブサーバーの機能と、サイトで有効になっているかどうかの機能です。

ここにはtutorial on them for Apacheがあります。

ここはdocumentation for IISです。

0

サーバ側のインクルードは、ブラウザのという観点からは「純粋なHTML」になりますが、PHPも同様です。

サーバーサイドインクルードを使用したくない場合は、JavaScriptまたはjQueryなどのライブラリを使用して動的に組み込み、各ページに.jsファイルを含めることができます。

-1

phpでこれを行うのは非常に簡単です。これはいくつかのサンプルインデックスです。PHPのページ私が構築した:

http://pastebay.com/51888

のでeverypageであなただけのものから最初に入れている: "を含む/ navigation.php" 私はこのてきた中

http://pastebay.com/51887

そして例えばをナビゲーションを編集したいときは、 "includes/navigation.php"を編集するだけです。 :)

0

本当に小さい/主にテキストベースのコンテンツの場合、非表示のDIVが入っているページを1つだけ持つことができます。誰かがオフラインで見たいと思うなら、 。