diff Lib/IMPL/Web/View/TTDocument.pm @ 193:8e8401c0aea4

sync
author sergey
date Tue, 10 Apr 2012 08:13:22 +0400
parents a9faf883cdce
children 4d0e1962161c
line wrap: on
line diff
--- a/Lib/IMPL/Web/View/TTDocument.pm	Fri Apr 06 16:22:38 2012 +0400
+++ b/Lib/IMPL/Web/View/TTDocument.pm	Tue Apr 10 08:13:22 2012 +0400
@@ -84,8 +84,8 @@
 		my $path = $control;
 		if ( my $template = $this->loader->template($path) ) {
 
-			my $opts = { %{$this->loader->options} };
-			$opts->{STASH} = $this->loader->context->stash->clone();
+			my $opts = { %{$this->opts} };
+			$opts->{STASH} = $this->context->stash->clone();
  
 			my $ctx = new Template::Context($opts);
 			
@@ -109,10 +109,6 @@
 	}
 }
 
-sub renderBlock {
-	$_[0]->template;	
-}
-
 sub Render {
 	my ($this,$args) = @_;
 	
@@ -187,6 +183,20 @@
 контейнеров, у которых может быть сложное содежимое. Примером таких элементов могут быть формы,
 внутри форм элементы управления могут группироваться.
 
+=head2 Элементы управления (компоненты)
+
+Документ состоит из узлов, часть которых наследуется от C<IMPL::Web::View::TTControl>, такие узлы называются
+элементами управления. Каждый элемент управления имеет собственный контекст, который наследуется от контекста
+документа.
+
+=head2 Фабрика элементов управления
+
+Для создания элементов управления используются фабрики. Каждый элемен управления имеет свой шаблон для
+форматиорвания содержимого, фабрика связывает шаблон и класс элемента управления, для чего при загрузке
+шаблона используется свойство C<type> из метаданных. Фабрика загружается в документ при том только один
+раз, повторные загрузки фабрики возвращают уже загруженную. Для загрузки фабрики используется метод
+C<require()>. 
+
 
 =head2 Порядок обработки документа