Mercurial > pub > Impl
comparison _test/temp.pl @ 351:cfd7570c2af2
working on TTView: created TTView class for rendering models
author | cin |
---|---|
date | Tue, 08 Oct 2013 17:40:35 +0400 |
parents | f356c4894d1b |
children | 675cd1829255 |
comparison
equal
deleted
inserted
replaced
350:f356c4894d1b | 351:cfd7570c2af2 |
---|---|
1 #!/usr/bin/perl | 1 #!/usr/bin/perl |
2 use strict; | 2 use strict; |
3 | 3 |
4 use IMPL::require { | 4 use IMPL::require { |
5 TTContext => 'IMPL::Web::View::TTContext' | 5 TTView => 'IMPL::Web::View::TTView' |
6 }; | 6 }; |
7 | 7 |
8 my $ctx = TTContext->new({ | 8 use Time::HiRes qw(gettimeofday tv_interval); |
9 INCLUDE_PATH => './Resources/view', | |
10 INTERPOLATE => 1, | |
11 RECURSION => 1000 | |
12 }); | |
13 | 9 |
14 print $ctx->invoke_environment(sub { | 10 my $t = [gettimeofday]; |
15 my ($this) = @_; | 11 |
16 return $this->render( | 12 my $view = TTView->new( |
17 'default', | 13 options => { |
18 { | 14 INCLUDE_PATH => './Resources/view', |
19 content => sub { | 15 INTERPOLATE => 1, |
20 return $this->invoke_environment( | 16 RECURSION => 1000 |
21 sub { | 17 }, |
22 shift->render( | 18 view => 'site', |
23 'product/view', | 19 layout => 'layout', |
24 { | |
25 model => { | |
26 name => 'debugger', | |
27 manufature => { | |
28 name => 'DEBUGGERS INC', | |
29 address => [ | |
30 { | |
31 coutry => 'Russuia', | |
32 city => 'Moscow' | |
33 }, | |
34 { | |
35 country => 'GB', | |
36 city => 'Essex' | |
37 } | |
38 ] | |
39 } | |
40 } | |
41 } | |
42 ); | |
43 }, { | |
44 base => 'site' | |
45 } | |
46 ); | |
47 } | |
48 } | |
49 ); | |
50 }, { | |
51 base => 'layout', | |
52 includes => [ | 20 includes => [ |
53 'packages' | 21 'packages' |
54 ], | 22 ] |
55 tt_ext => 'tt', | 23 ); |
56 document => { | 24 |
57 title => 'Test document' | 25 print $view->display( |
58 } | 26 { |
59 }); | 27 name => 'debugger', |
28 manufacture => { | |
29 name => 'DEBUGGERS INC', | |
30 address => [ | |
31 { | |
32 coutry => 'Russuia', | |
33 city => 'Moscow' | |
34 }, | |
35 { | |
36 country => 'GB', | |
37 city => 'Essex' | |
38 } | |
39 ] | |
40 } | |
41 }, | |
42 'product/view', | |
43 { layout => 'default' } | |
44 ), "\n"; | |
45 | |
46 print "render page: ",tv_interval($t,[gettimeofday]),"ms\n"; | |
60 | 47 |