Mercurial > pub > Impl
comparison Lib/IMPL/Web/View/TTControl.pm @ 296:86ff93b34f2a
sync
| author | cin |
|---|---|
| date | Tue, 05 Mar 2013 01:46:32 +0400 |
| parents | bbc0da7ef90e |
| children | bd79145657e5 |
comparison
equal
deleted
inserted
replaced
| 295:9b25e1f50144 | 296:86ff93b34f2a |
|---|---|
| 4 use IMPL::Const qw(:prop); | 4 use IMPL::Const qw(:prop); |
| 5 use IMPL::lang qw(:hash); | 5 use IMPL::lang qw(:hash); |
| 6 use Scalar::Util qw(blessed); | 6 use Scalar::Util qw(blessed); |
| 7 use IMPL::declare { | 7 use IMPL::declare { |
| 8 require => { | 8 require => { |
| 9 TemplateDocument => 'Template::Document', | |
| 9 TTContext => 'Template::Context', | 10 TTContext => 'Template::Context', |
| 10 Exception => 'IMPL::Exception', | 11 Exception => 'IMPL::Exception', |
| 11 ArgumentException => '-IMPL::InvalidArgumentException', | 12 ArgumentException => '-IMPL::InvalidArgumentException', |
| 12 OperationException => '-IMPL::InvalidOperationException' | 13 OperationException => '-IMPL::InvalidOperationException' |
| 13 }, | 14 }, |
| 111 return ""; | 112 return ""; |
| 112 } | 113 } |
| 113 } | 114 } |
| 114 | 115 |
| 115 sub RenderBlock { | 116 sub RenderBlock { |
| 116 my ($this,$block, $args) = @_; | 117 my ($this, $block, $args) = @_; |
| 117 | 118 |
| 118 $args = {} unless ref $args eq 'HASH'; | 119 $args = {} unless ref $args eq 'HASH'; |
| 119 | 120 |
| 120 return $this->context->include( $block, { %$args, this => $this, template => $this->template } ); | 121 return $block ? $this->context->include( $block, { %$args, this => $this, template => $this->template } ) : undef; |
| 122 } | |
| 123 | |
| 124 sub ExportBlock { | |
| 125 my ($this,$block) = @_; | |
| 126 | |
| 127 return TemplateDocument->new({ | |
| 128 BLOCK => $this->template->blocks->{$block}, | |
| 129 DEFBLOCKS => $this->template->blocks | |
| 130 }); | |
| 121 } | 131 } |
| 122 | 132 |
| 123 sub AUTOLOAD { | 133 sub AUTOLOAD { |
| 124 our $AUTOLOAD; | 134 our $AUTOLOAD; |
| 125 | 135 |
