非動的(≒静的)なページの動的管理 |
---|
HPに要望があるのは良いことです。
それだけ見ていただけるのですからね
でも、それが簡単に実現できるかというとそうでもなかったりします。特に昔
今は便利になりましたね〜ってお話です。(>oさん)
いまは、html-Editでちょっと変更すれば、あっという間に正しい書式で書き上げてくれます。
さらに、移動したファイルなどは正しくリンクも張り直してくれるという、非常に便利です。
でも、このエディッタも万能ではありません。あたしのページはファイル数が500を越え、一度修正となると結構な大作業です。
それに、機能を追加すれば追加するだけ、新規データを作るたびに編集する場所が増えてくる
これは非常に問題があります。
ん〜、わかりやすく言うと日記のようなページです。
日記は一度書いてしまえば、二度と変更はありません。
でも、それを見る側にとってはいろいろと機能があった方が便利?
あたしのHPで言えば、PSOの嘆きとこのティアのたわごとです。
PSOの方は非常にあっさりCGI化する事で冗長的だった更新作業を効率化させました。
なんと、管理用ページにてタイトルと、内容を打ち込んで送信するだけであっという間に、それが反映される。TOPは最新の物が表示され、過去の履歴はリンクなどの更新することもなく一ヶ月毎にまとめて表示してくれます。
準静的な、非動的ページの正しい管理方法でしょうか?
さて、では、完全に静的ページとして作られてきたティアのたわごと
これに前後のリンクを付けるのは非常に問題があります。
難しいかどうかではなく、数が多くやってられない(笑
それぞれにリンクを付ける場合、当然カットアンドペーストは出来ません。
ページ毎にリンク先が違うので張り付けて修正して、張り付けて修正して・・・・
永遠334ページ(笑
時間ですか? まぁ3時間程度で終わるでしょうが、それをやり続ける気力のある人は居ないでしょう(笑
こんな時に役に立つのがスクリプトやCGIです。
自分のファイル名から前後のファイルを見つけることが出来ます。
スクリプトの場合、次のファイルがなかったりしても次へのリンクを作ってしまい、 File Not Foundになってしますが、CGIなら事前にファイルの有無を確認できるので多彩な方法が採れます。
そして、ここはCGIを利用しています。
たわごとメニューからのリンクが、全部sono.cgi?num=xxxになっていると思います。
後ろのxxxで何個目を表示するか指定しているわけです。
CGIは前後のファイルがあるか確認し、有ればリンクとして表示し、無ければリンク無しの文字を表示します。
268より前は存在しないので「前へ」が通常の文字表示
今のところ最後尾の335を表示すると次へがリンクではありません。
さてはて、普通にこの335を表示した場合(普通はこちら、CGIはこちら)
リンク自体も表示されていません、これはどう言うことでしょうか?
これはCGIに利用しているPerlと言うスクリプトの技です。
やっていることは非常に簡単です。HTMLのソースを表示させれば分かりますが、
<!--navi_bar-->
ってのが有るのが分かると思います。
これはhtmlとしては割と簡単なコメントタグです。ブラウザなどでは表示されません。
CGIはこれをリンクに置き換えることでリンクを出現させているのです。
ま〜、CGIのコードとしては
$out_html=~s/<!--navi_bar-->/$navi_str/;
こんな感じです。
htmlを普通に作成した上で、ちょこっとタグを組み込んでおけば、いつでもそこに追加できる非常に便利なものです☆ミ
あ〜、便利なのはperlですね
ってことで、全部のたわごとに対応させるには、このタグを全部に埋め込めばいいので
カットアンドペースト(笑
まぁ、要はやり方次第って事ですね☆ミ
☆ティア☆
2002/7/4