電子書籍の厳選無料作品が豊富!

現在、Template Toolkit で、あるページに
[% INSERT header.html %]
というタグを用いてヘッダをインクルードしています。
そのヘッダの中でさらに別のcgiファイルを読み込み、
実行させたいのですが
<!--#exec cgi="/cgi-bin/○○.cgi" -->
としてもこの文言がそのまんまコメントとして処理されるだけで
実行できませんでした。

それで、Template Toolkit でどうにかできないかと思い、
[% INSERT "/cgi-bin/○○.cgi" %]としてみても
この文言が該当部分にそのまま表示されてしまい
意図した動きはしませんでした。

この ○○.cgi は、
あるテキストファイルを開いてそこの先頭一行を読み込み出力するというプログラムですので、
変わりにテンプレートタグでこの処理を行おうと思い、
[% USE file = IO.File('○○.txt') %]
[% WHILE (line = file.getline) %]
<!-- [% line %] -->
[% END %]
としてみたんですけど相変わらずこのまま文字が出力されるだけでした。

テンプレートの中にテンプレートタグを書いても
それは全く読み込まれないのでしょうか?
また、上記の処理を行う為には一体どういったフローが必要か検討は付きますでしょうか??
宜しくお願い致します。

A 回答 (1件)

Template Toolkit というのがどういったものか知りませんが、たぶん名前からして、CGI でテンプレートを読み込んで HTML 生成する類いのものでしょうか?


だとすると、SSI はCGI で生成される HTML には呼び出せなかったと思います。
アクセスするファイル名が xx.html か xx.shtml である必要があります。

やろうとされている事を実現するには、○○.cgi の処理を Template Toolkit の中で処理して、HTML 生成と一緒に出力するしかないと思います。
CGI で生成しているのですから、同じ CGI 内で処理するのが定石かと?
    • good
    • 0
この回答へのお礼

そうです、テンプレートを読み込んでHTMLを出力するものです。
SSIは呼び出せなかったんですね。。
ヘッダを二つに分割してその間の部分に
Template Toolkitから読み出したファイルの文言を表示させる事で何とか対応できました。
大変参考になりました。
ありがとうございますっ!

お礼日時:2007/06/21 19:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!