Mercurial > pub > Impl
comparison Lib/IMPL/Web/View/TTDocument.pm @ 193:8e8401c0aea4
sync
author | sergey |
---|---|
date | Tue, 10 Apr 2012 08:13:22 +0400 |
parents | a9faf883cdce |
children | 4d0e1962161c |
comparison
equal
deleted
inserted
replaced
192:a9faf883cdce | 193:8e8401c0aea4 |
---|---|
82 } else { | 82 } else { |
83 | 83 |
84 my $path = $control; | 84 my $path = $control; |
85 if ( my $template = $this->loader->template($path) ) { | 85 if ( my $template = $this->loader->template($path) ) { |
86 | 86 |
87 my $opts = { %{$this->loader->options} }; | 87 my $opts = { %{$this->opts} }; |
88 $opts->{STASH} = $this->loader->context->stash->clone(); | 88 $opts->{STASH} = $this->context->stash->clone(); |
89 | 89 |
90 my $ctx = new Template::Context($opts); | 90 my $ctx = new Template::Context($opts); |
91 | 91 |
92 $factory = new IMPL::Web::View::TTFactory( | 92 $factory = new IMPL::Web::View::TTFactory( |
93 typeof IMPL::Web::View::TTControl, | 93 typeof IMPL::Web::View::TTControl, |
107 die new IMPL::KeyNotFoundException($control); | 107 die new IMPL::KeyNotFoundException($control); |
108 } | 108 } |
109 } | 109 } |
110 } | 110 } |
111 | 111 |
112 sub renderBlock { | |
113 $_[0]->template; | |
114 } | |
115 | |
116 sub Render { | 112 sub Render { |
117 my ($this,$args) = @_; | 113 my ($this,$args) = @_; |
118 | 114 |
119 my $output; | 115 my $output; |
120 | 116 |
185 | 181 |
186 Использование объектной модели документа позволяет решить задачи по созданию элементов управления | 182 Использование объектной модели документа позволяет решить задачи по созданию элементов управления |
187 контейнеров, у которых может быть сложное содежимое. Примером таких элементов могут быть формы, | 183 контейнеров, у которых может быть сложное содежимое. Примером таких элементов могут быть формы, |
188 внутри форм элементы управления могут группироваться. | 184 внутри форм элементы управления могут группироваться. |
189 | 185 |
186 =head2 Элементы управления (компоненты) | |
187 | |
188 Документ состоит из узлов, часть которых наследуется от C<IMPL::Web::View::TTControl>, такие узлы называются | |
189 элементами управления. Каждый элемент управления имеет собственный контекст, который наследуется от контекста | |
190 документа. | |
191 | |
192 =head2 Фабрика элементов управления | |
193 | |
194 Для создания элементов управления используются фабрики. Каждый элемен управления имеет свой шаблон для | |
195 форматиорвания содержимого, фабрика связывает шаблон и класс элемента управления, для чего при загрузке | |
196 шаблона используется свойство C<type> из метаданных. Фабрика загружается в документ при том только один | |
197 раз, повторные загрузки фабрики возвращают уже загруженную. Для загрузки фабрики используется метод | |
198 C<require()>. | |
199 | |
190 | 200 |
191 =head2 Порядок обработки документа | 201 =head2 Порядок обработки документа |
192 | 202 |
193 =over | 203 =over |
194 | 204 |