# HG changeset patch # User sergey # Date 1334031202 -14400 # Node ID 8e8401c0aea48bff03f4066ec71827e1fe70d666 # Parent a9faf883cdced2709e2d78d8d38dd06fc436bab4 sync diff -r a9faf883cdce -r 8e8401c0aea4 Lib/IMPL/Web/View/TTDocument.pm --- 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, такие узлы называются +элементами управления. Каждый элемент управления имеет собственный контекст, который наследуется от контекста +документа. + +=head2 Фабрика элементов управления + +Для создания элементов управления используются фабрики. Каждый элемен управления имеет свой шаблон для +форматиорвания содержимого, фабрика связывает шаблон и класс элемента управления, для чего при загрузке +шаблона используется свойство C из метаданных. Фабрика загружается в документ при том только один +раз, повторные загрузки фабрики возвращают уже загруженную. Для загрузки фабрики используется метод +C. + =head2 Порядок обработки документа