comparison Lib/IMPL/Web/TT/Document.pm @ 180:d1676be8afcc

Перекодировка в utf-8
author sourcer
date Fri, 30 Dec 2011 23:40:00 +0300
parents 59e5fcb59d86
children 4d0e1962161c
comparison
equal deleted inserted replaced
179:b3d91ff7aea9 180:d1676be8afcc
228 my ($this) = @_; 228 my ($this) = @_;
229 229
230 return $this->context->process($this->template); 230 return $this->context->process($this->template);
231 } 231 }
232 232
233 # 233 # Формирует представление для произвольных объектов
234 sub _process { 234 sub _process {
235 my ($this,@items) = @_; 235 my ($this,@items) = @_;
236 236
237 my @result; 237 my @result;
238 238
284 __END__ 284 __END__
285 =pod 285 =pod
286 286
287 =head1 NAME 287 =head1 NAME
288 288
289 C<IMPL::Web::TT::Document> - , 289 C<IMPL::Web::TT::Document> - Документ, позволяющий строить представление по шаблону
290 290
291 =head1 SYNOPSIS 291 =head1 SYNOPSIS
292 292
293 =begin code 293 =begin code
294 294
305 305
306 =head1 DESCRIPTION 306 =head1 DESCRIPTION
307 307
308 C<use parent qw(IMPL::DOM::Document)> 308 C<use parent qw(IMPL::DOM::Document)>
309 309
310 , Template::Toolkit. , 310 Документ, основанный на шаблоне Template::Toolkit. Позволяет загрузить шаблон,
311 . C<IMPL::DOM::Node>, 311 и сформировать окончательный документ. Является наследником C<IMPL::DOM::Node>,
312 .. DOM . 312 т.о. может быть использован для реализации DOM модели.
313 313
314 C<document> . 314 Внутри шаблона переменная C<document> ссылается на объект документа. По этой
315 , 315 причине образуется циклическая ссылка между объектами шаблона и документом, что
316 C<Dispose> . 316 требует вызова метода C<Dispose> для освобождения документа.
317 317
318 =head1 METHODS 318 =head1 METHODS
319 319
320 =over 320 =over
321 321
322 =item C<CTOR()> 322 =item C<CTOR()>
323 323
324 , C<nodeName> 'C<document>' 324 Создает новый экземпляр документа, свойство C<nodeName> устанавливается в 'C<document>'
325 325
326 =item C<$doc->LoadFile($fileName,$encoding)> 326 =item C<$doc->LoadFile($fileName,$encoding)>
327 327
328 C<$fileName>, C<$encoding>. 328 Загружает шаблон из файла C<$fileName>, используя кодировку C<$encoding>. Если
329 , utf-8. 329 кодировка не указана, использует utf-8.
330 330
331 =item C<$doc->Render()> 331 =item C<$doc->Render()>
332 332
333 . 333 Возвращает данные построенные на основе загруженного шаблона.
334 334
335 =item C<$doc->Dispose()> 335 =item C<$doc->Dispose()>
336 336
337 . 337 Освобождает ресурсы и помечает объект как освобожденный.
338 338
339 =back 339 =back
340 340
341 =head1 DOM 341 =head1 DOM
342 342
343 DOM , , 343 Документ представляет собой DOM документ, состоящий из узлов, которые представляют собой данные
344 . C<template>. 344 для отображения. Для форматированого вывода используется C<template>.
345 345
346 C<IMPL::Web::TT::Control>, 346 В качестве элементов документа могут присутсвовать специальные объекты C<IMPL::Web::TT::Control>,
347 . 347 которые внутри содержат шаблон для форматирования собственного содержимого.
348 348
349 349
350 350
351 . 351 Документ предоставляет ряд фнукций для работы с элементами управления.
352 352
353 =head1 TEMPLATE 353 =head1 TEMPLATE
354 354
355 =begin code html 355 =begin code html
356 356
357 [% CALL document.registerClass( 'Table', 'My::TableClass', template => 'tables/pretty.tt' ) %] 357 [% CALL document.registerClass( 'Table', 'My::TableClass', template => 'tables/pretty.tt' ) %]
358 [% CALL document.registerClass( 'Form' )%] 358 [% CALL document.registerClass( 'Form' )%]
359 359
360 [% table = document.reateTable('env') %] 360 [% table = document.сreateTable('env') %]
361 361
362 [% FOEACH item in document.result %] 362 [% FOEACH item in document.result %]
363 [% table.rows.Add( item.get('name','value') ) %] 363 [% table.rows.Add( item.get('name','value') ) %]
364 [% END %] 364 [% END %]
365 365