• 締切済み

SSIを使い、表示情報を変化させるページは作れるのでしょうか?

SSIを利用し、下記イメージのページを作れないかと考えています。 (私hp作成初心者で、CGIの経験が無いもので...) 文具を例に説明させて頂きます。 1つのページで商品「ボールペン」を、10~200種紹介します。 商品1種の紹介は、写真1ケと文章3行です。 商品数が多いので、最初に開いたページで商品を10種表示し、「次へ」ボタンで次の10種を表示させたいです。 この時、利用するshtmlファイルは1ケとし、商品が10ケづつ載ったhtmlファイルを、if分などで制御しinclude出来ないものかと。 (ボールペンが200種類あるなら、include用のhtmlファイルを20ケ準備します) 最初から、通常のhtmlファイルを20ページ準備しない理由は、商品の種類や表示順が頻繁に入れ替わるため、毎回ページを修正するより、include用のhtmlファイルをpcのバッチで自動出力し、作業を簡略化したいためです。 初心者の私がネット等で調べた限りでは、出来そうに無いように思えましたが、詳しい方から可能性を教えて頂ければと思ってます。 また、他の手法も含めアドバイス(xxxの方法がいいでしょう など)頂けると助かります。 ご指南、お願い致します。

みんなの回答

回答No.2

20ページだと20行書かないと行けないとか、 ページ数が多いとメンテナンス性に欠けるので、CGIを使う方が良いと思います。 <!--#if expr="$QUERY_STRING= /p=([^&]+)/" --> <!--#set var="page" value="$1"--> <!--#endif --> <!--#if expr="$page = '1'" --> <!--#include virtual="file-1.html" --> <!--#elif expr="$page = '2'" --> <!--#include virtual="file-2.html" --> <!--#else --> <!--#include virtual="menu.html" --> <!--#endif --> <a href="index.shtml">メニュー</a> <a href="index.shtml?p=1">1ページ目</a> <a href="index.shtml?p=2">2ページ目</a> SSIの場合は、変わる部分を条件に応じてincludeするというよりも、 逆に、変わらない部分をincludeする、という方法が一般的ですけどね。

参考URL:
http://home.wi-wi.jp/scripts/log/2008070901/index.html
bty1919
質問者

お礼

やはりSSIでは小手先の策という事ですね。 コードサンプルまで書いて頂き、大変勉強になります。 ご回答、有難うございました。 大変助かりました。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

確かにSSIのincludeでも出来ないことは無いでしょうが、 PHPを使うのをお勤めします。 (私hp作成初心者で、CGIの経験が無いもので...) との事ですが、だれでも最初は初心者です。 SSIの機能をあれこれ調べる手間や労力をかけるぐらいなら、 PHPやCGIの初歩的な部分を学習した方が、手っ取り早いし、後々役に立ちます。 PHPやCGIが使えない環境なら、javascriptのDOM関数や、AJAX機能でも実現できます。この手の処理を単に静的なSSIだけでやっている人は、ほとんどいないと思います。

bty1919
質問者

お礼

SSIで何とかヤリクリするより本来のあるべき姿で取り組むべきとのご意見ですね。 貴重なご意見、有難うございました。 大変参考になります。

関連するQ&A