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