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

それTemplate::Stash::Contextで

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

ちと古い話題だけど、
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

Trackbacks: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日記
add to hatena hatena.comment (6) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 6

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

Search
Feeds
Meta

Return to page top