diff Lib/IMPL/Web/View/TTDocument.pm @ 192:a9faf883cdce

IMPL::Web::View refactoring
author cin
date Fri, 06 Apr 2012 16:22:38 +0400
parents 78a18a2b6266
children 8e8401c0aea4
line wrap: on
line diff
--- a/Lib/IMPL/Web/View/TTDocument.pm	Thu Apr 05 17:51:51 2012 +0400
+++ b/Lib/IMPL/Web/View/TTDocument.pm	Fri Apr 06 16:22:38 2012 +0400
@@ -72,7 +72,10 @@
 }
 
 sub require {
-	my ($this, $control) = @_;
+	my ($this, $control, $nodeProps) = @_;
+	
+	$nodeProps ||= {};
+	$nodeProps->{document} = $this;
 	
 	if (my $factory = $this->controls->{$control}) {
 		return $factory;
@@ -90,7 +93,8 @@
 				typeof IMPL::Web::View::TTControl,
 				$template,
 				$ctx,
-				$opts
+				$opts,
+				{ document => $this }
 			);
 			
 			my @parts = split(/\/+/,$control);
@@ -174,11 +178,15 @@
 =back
 
 Скприт шаблона формирует структуру документа, затем сформированная структура форматируется в готовый документ.
-Процесс преобразования объектной модели в готовый документ может быть выполнена как вручную, так и при помощи
+Процесс форматирования объектной модели в готовый документ может быть выполнена как вручную, так и при помощи
 вспомогательного шаблона - обертки. Если у шаблона документа указан C<layout> в метаданных, то он будет
 использован как шаблон для форматирования объектной модели, вывод самого шаблона будет проигнорирован. Если
 обертка не задана, то результатом будет вывод самого скрипта шаблона.
 
+Использование объектной модели документа позволяет решить задачи по созданию элементов управления
+контейнеров, у которых может быть сложное содежимое. Примером таких элементов могут быть формы,
+внутри форм элементы управления могут группироваться.
+
 
 =head2 Порядок обработки документа