comparison Lib/IMPL/Web/View/TTDocument.pm @ 309:5e4e7c8fbca1

sync
author cin
date Fri, 19 Apr 2013 00:27:51 +0400
parents 47a09a8dc23a
children 0a9d51cf6dfd
comparison
equal deleted inserted replaced
308:47a09a8dc23a 309:5e4e7c8fbca1
4 use Scalar::Util qw(weaken); 4 use Scalar::Util qw(weaken);
5 use IMPL::Const qw(:prop); 5 use IMPL::Const qw(:prop);
6 use IMPL::lang qw(:hash is); 6 use IMPL::lang qw(:hash is);
7 use Carp qw(carp); 7 use Carp qw(carp);
8 use mro; 8 use mro;
9 9 use IMPL::Exception();
10 use IMPL::declare { 10 use IMPL::declare {
11 require => { 11 require => {
12 TTRegistry => 'IMPL::Web::View::TTRegistry', 12 TTRegistry => 'IMPL::Web::View::TTRegistry',
13 TTFactory => 'IMPL::Web::View::TTFactory', 13 TTFactory => 'IMPL::Web::View::TTFactory',
14 TTControl => 'IMPL::Web::View::TTControl', 14 TTControl => 'IMPL::Web::View::TTControl',
15 Loader => 'IMPL::Code::Loader' 15 Loader => 'IMPL::Code::Loader',
16 OpException => '-IMPL::InvalidOperationException'
16 }, 17 },
17 base => [ 18 base => [
18 'IMPL::Web::View::TTControl' => sub { 19 'IMPL::Web::View::TTControl' => sub {
19 my ($template,$ctx) = @_; 20 my ($template,$ctx,$vars) = @_;
20 $ctx ||= Template::Context->new(); 21 $ctx ||= Template::Context->new();
21 return $template, $ctx; # context 22 return $template, $ctx, $vars; # context
22 } 23 }
23 ], 24 ],
24 props => [ 25 props => [
25 layout => PROP_RW, 26 layout => PROP_RW,
26 baseLocation => PROP_RW 27 baseLocation => PROP_RW
50 }); 51 });
51 52
52 my $text = eval { 53 my $text = eval {
53 54
54 if ($this->layout) { 55 if ($this->layout) {
55 my $tlayout = $this->GetTemplate($this->layout); 56 my $tlayout = $this->registry->loader->layout($this->layout)
57 or die OpException->new('The specified layout isn\'t found', $this->layout);
56 if(my $init = $tlayout->blocks->{INIT}) { 58 if(my $init = $tlayout->blocks->{INIT}) {
57 $this->context->process( 59 $this->context->process(
58 $init, 60 $init,
59 hashMerge( 61 hashMerge(
60 $args, 62 $args,