ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

PerlコミュのHTML::Templateのassociate

  • mixiチェック
  • このエントリーをはてなブックマークに追加
HTML::Templateの使い方について、ご存知の方いましたらご教授ください。

オブジェクト生成時にassociate引数を利用して楽したいなと思っているのですが、

my $q = CGI->new;
〜処理〜
my $tmpl = HTML::Template->new( filename => '***.tmpl', associate => $q);

とした時に、$qにチェックボックスなどの複数項目がある場合、どのようにテンプレートを作れば効率がいいのでしょうか。

具体的には
フォームに以下のようなチェックボックスがあり
好きな色: □赤 □青 □黄色
赤と青をチェックしてsubmitした後の確認画面で
好きな色:赤 青
などと表示したいと考えています。

テンプレート側にはLOOPを作り、CGI側の処理でLOOP項目を埋めればできるのでしょうけど、それではassociateの効果が半減してしまうので、なにか楽な方法があるのではないかと思い質問させていただきました。

よろしくお願い致します。

コメント(11)

微妙に真意を理解しかねるのだけど

form:
<input type="red" value="赤">
<input type="blue" value="青">
<input type="yellow" value="黄">

confirm:
<!-- TMPL_VAR name="red" -->
<!-- TMPL_VAR name="blue" -->
<!-- TMPL_VAR name="yellow" -->

ぢゃ駄目ですか?
これならnew CGIのオブジェクトをassociateに渡すだけで表示出来ると思うけど..

あ、全然関係ありませんが
個人的にはHTML::TemplateよりTemplate-Toolkitを使う事をお勧めします
なるほど!
単純なことでしたね;
試してみましたが、みごと成功でした!
ありがとうございます!!

ちなみに糸屯へ゜さんがHTML::TemplateよりTTをオススメなさる理由はどの辺りでしょうか?

私はHTML::TemplateはPurePerlなので、汎用・移植性が高い(と思ってる)辺りが強みかなぁ?と感じています。
時間をみてTTも試してみようかと思います!
TTを進める理由はずばり機能及び拡張性の高さです
痒いところに手が届く、と言い方の方が良いかな?

問題は日本語ドキュメントがないので
perldocと睨めっこしなければならない、ということでしょうか..
> 問題は日本語ドキュメントがないので

http://www.hakoniwa.net/tt/

こんなページありますよ
ディレクティブのリファレンスは日本語訳ありますよ。
http://www.hakoniwa.net/tt/

まぁ、TTは導入が重いので、配布を想定するようなCGIスクリプトではHTML-Templateを、Class-DBIなどとがりがり連携するような大きめのサイトのコードを書く場合はTTを、というような使い分けが一般的のように感じます。
おぉぅ何時の間にそんなトコロが
ありがとうございます
ありがとうございます!
ひとまず試して感触を掴んで見たいと思います!
恥ずかしながら、誤りに気付いたので訂正しておきます。
TTも基本的な使い方をする範囲ではPurePerlですね。
配布の手間はHTML::Templateと大差ないです。
http://blog.nomadscafe.jp/archives/000459.html

# だとしたら、もうTTでいいやと言う雰囲気に……。
遅レスですが、、、

TT、もう最高。
まだ数%くらいの機能しか使ってないと思われますが、すでにTTマンセーでございます。

以前ちょっとかじった、PHPのSmartyに使い勝手が似てますねぇ。
Ajax案件もチラホラでてきてるので、はてnaoyaさんなんかがBlogで触れてるJemplateも試してみようかと思います!
http://d.hatena.ne.jp/naoya/20060207/1139305280
TTほんといいですよね。
ちょっといじりたいとか思ったときもちゃちゃっとプラグインつくって|で即表示できたりするのがもう最高です。

標準でDumperみたいな痒いところに手が届く機能もありますし。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Perl 更新情報

Perlのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング