$self->stash でセットした値を、$self->stashall で取り出すと、以下の様なハッシュリファレンスが返ってきます。
{
'Catlxom::Plugin::Paginate::Simple' => {
'pager' => bless( {
'total_entries' => 14,
'current_page' => 2,
'entries_per_page' => '5'
}, 'Data::Page' )
}
で、これをテンプレートで扱おうとして、
[% Catlxom::Plugin::Paginate::Simple.pager.current_page %]
などと記述すると、
unexpected token (Catlxom::Plugin::Paginate::Simple)
といったエラーになります。: が入ってるのがまずいのと、冗長で書くのがめんどくさいので、以下の様な patch を書いてみました。
Index: lib/Catlxom/Context/Base.pm
===================================================================
--- lib/Catlxom/Context/Base.pm (revision 23)
+++ lib/Catlxom/Context/Base.pm (working copy)
@@ -57,7 +57,8 @@
sub stash {
my $self = shift;
- my $caller = caller(0);
+ ( my $caller = lc caller(0) ) =~ s/Catlxom::Plugin:://i;
+ $caller =~ s/::/_/g;
if (@_) {
my $stash = @_ > 1 ? {@_} : $_[0];
これでテンプレートの中で以下の様に記述できます。
[% pagenate_simple.pager.current_page %]