Home > perl > それTemplate::Stash::Contextで

それTemplate::Stash::Contextで

  • 2007-06-20 (水) 4:00
  • perl

ちと古い話題だけど、
TTでDBICのhas_manyなメソッドを使う
TTでDBICのmany_to_manyなメソッドを使う
[% WHILE %] の中のこと その後
ここら辺で問題になっていた

何を言いたいかというと、TTでhas_manyで定義した子オブジェクトの結果一覧を取得するメソッド(ここではcomments)にアクセスするとイテレーターではなく配列のリファレンスとして扱われるので大変面倒。

それ、Template::Stash::Contextでもいけますですよ。

(Catalystの場合)MyAPP::View::TT

__PACKAGE__->config(
STASH => Template::Stash::Context->new(),
);

こうして、Viewのほうでは

<html><body>
<ul>
[% WHILE (topic = topics.next) %]
<li>
[% topic.title %]
: comments([% topic.comments.scalar.count %])
</li>
[% END %]
</ul>
</body>
</html>

こんな感じで。これだとmany-to-manyでもたぶんいける。(試してないけど)

ただ、自分はTemplate::Stash::Filtersを使ってるので結局使えなかったり。
うーんなんとかしたい。というか、Stashをauto-filter的な使い方してるのが間違っているのかもしれないけど。。。
追記
なんとかしてみた->Template::Stash::FiltersでTemplate::Stash::Contextを併用する方法

Comments:0

Comment Form
Remember personal info

Trackback+Pingback:0

TrackBack URL for this entry
http://www.geminium.com/chiba_blog/2007/06/20/15/trackback/
Listed below are links to weblogs that reference
それTemplate::Stash::Contextで from へぼへぼCTO日記

Home > perl > それTemplate::Stash::Contextで

Search
Feeds
Meta

Page Top